diff --git a/README.md b/README.md new file mode 100644 index 0000000..28b5077 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Community DNS Tools + +A set of browser-based DNS tools for DigitalOcean Community. + +--- + + + + + +## DNS Lookup + +A simple browser-based tool to perform DNS lookups. Type a domain, search, and instantly get results. + +### [➡️ Use now](https://www.digitalocean.com/community/tools/dns) + +--- + + + + + +## SPF Explainer + +A tool that explains a domain's SPF records. Search a domain and either explore its records or evaluate an IP for mail sending. + +### [➡️ Use now](https://www.digitalocean.com/community/tools/spf) diff --git a/dns-lookup.png b/dns-lookup.png new file mode 100644 index 0000000..df688ec Binary files /dev/null and b/dns-lookup.png differ diff --git a/dns-lookup.svg b/dns-lookup.svg new file mode 100644 index 0000000..4d09b29 --- /dev/null +++ b/dns-lookup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dns-lookup/18b8c68e64126db9ce88.ttf b/dns-lookup/18b8c68e64126db9ce88.ttf new file mode 100644 index 0000000..721147d Binary files /dev/null and b/dns-lookup/18b8c68e64126db9ce88.ttf differ diff --git a/dns-lookup/26a30a5f1103393aac70.woff2 b/dns-lookup/26a30a5f1103393aac70.woff2 new file mode 100644 index 0000000..66691b8 Binary files /dev/null and b/dns-lookup/26a30a5f1103393aac70.woff2 differ diff --git a/dns-lookup/3e3cb905bf27a4c8c370.ttf b/dns-lookup/3e3cb905bf27a4c8c370.ttf new file mode 100644 index 0000000..e98b84c Binary files /dev/null and b/dns-lookup/3e3cb905bf27a4c8c370.ttf differ diff --git a/dns-lookup/3ee890bd00a8751acbc3.woff b/dns-lookup/3ee890bd00a8751acbc3.woff new file mode 100644 index 0000000..0df2bc7 Binary files /dev/null and b/dns-lookup/3ee890bd00a8751acbc3.woff differ diff --git a/dns-lookup/828b5dfc027ace162d5d.woff b/dns-lookup/828b5dfc027ace162d5d.woff new file mode 100644 index 0000000..80f70f0 Binary files /dev/null and b/dns-lookup/828b5dfc027ace162d5d.woff differ diff --git a/dns-lookup/9cd7588f47651215d52f.ttf b/dns-lookup/9cd7588f47651215d52f.ttf new file mode 100644 index 0000000..96fd6a1 Binary files /dev/null and b/dns-lookup/9cd7588f47651215d52f.ttf differ diff --git a/dns-lookup/ab15890d6f6bc7f32adf.woff2 b/dns-lookup/ab15890d6f6bc7f32adf.woff2 new file mode 100644 index 0000000..b09ea9d Binary files /dev/null and b/dns-lookup/ab15890d6f6bc7f32adf.woff2 differ diff --git a/dns-lookup/d0a58d956cf2f4cf078f.woff2 b/dns-lookup/d0a58d956cf2f4cf078f.woff2 new file mode 100644 index 0000000..ffb4206 Binary files /dev/null and b/dns-lookup/d0a58d956cf2f4cf078f.woff2 differ diff --git a/dns-lookup/df60e0aa5fcfd8bb7d54.woff2 b/dns-lookup/df60e0aa5fcfd8bb7d54.woff2 new file mode 100644 index 0000000..622e5f1 Binary files /dev/null and b/dns-lookup/df60e0aa5fcfd8bb7d54.woff2 differ diff --git a/dns-lookup/e148c4a1158f8cee8285.woff b/dns-lookup/e148c4a1158f8cee8285.woff new file mode 100644 index 0000000..7cb4990 Binary files /dev/null and b/dns-lookup/e148c4a1158f8cee8285.woff differ diff --git a/dns-lookup/e7dd1399358ca04ed457.ttf b/dns-lookup/e7dd1399358ca04ed457.ttf new file mode 100644 index 0000000..a5f0736 Binary files /dev/null and b/dns-lookup/e7dd1399358ca04ed457.ttf differ diff --git a/dns-lookup/eec0ea57721daa33c7a2.woff b/dns-lookup/eec0ea57721daa33c7a2.woff new file mode 100644 index 0000000..1d50f80 Binary files /dev/null and b/dns-lookup/eec0ea57721daa33c7a2.woff differ diff --git a/dns-lookup/index.html b/dns-lookup/index.html new file mode 100644 index 0000000..121e3d2 --- /dev/null +++ b/dns-lookup/index.html @@ -0,0 +1,345 @@ +DNS Lookup | DigitalOcean
Edit Tool
\ No newline at end of file diff --git a/dns-lookup/mount.js b/dns-lookup/mount.js new file mode 100644 index 0000000..1b40995 --- /dev/null +++ b/dns-lookup/mount.js @@ -0,0 +1,3 @@ +/*! For license information please see mount.js.LICENSE.txt */ +(()=>{var e={6384:(e,t,n)=>{"use strict";var o=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==n.g)return n.g;throw new Error("unable to locate global object")}();e.exports=t=o.fetch,o.fetch&&(t.default=o.fetch.bind(o)),t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response},6021:(e,t)=>{"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[e,o]of t)n[e]=o;return n}},4795:(e,t,n)=>{const o=n(6384),{uniqueCommaSep:r,consistentResultObj:i,consistentResult:s}=n(228),a=e=>{const t=e.contacts&&e.contacts.abuse;if(t&&Array.isArray(t))return r(e.contacts.abuse)};e.exports=async e=>{const t=await o(`https://cfwho.com/api/v1/${e}`),n=await t.json().catch((()=>!1)),r=n&&n[e];if(!r||!r.success)return!1;const l=i({name:r.netname,asn:r.asn,cidr:r.network,abuse:a(r)});return s(l)}},1965:(e,t,n)=>{const o=n(6163),r=n(5798),i=n(4795),{consistentResultObj:s,consistentResult:a}=n(228);e.exports=async(e,t=!1)=>{const n=await o(e);if(n&&t)return n;const l=await r(e);if(l&&t)return l;const c=await i(e);return c&&t?c:(e=>{const t={};for(const n of e)for(const e in n)Object.prototype.hasOwnProperty.call(n,e)&&n[e]&&!t[e]&&(t[e]=n[e]);return a(s(t))})([n||{},l||{},c||{}])}},6163:(e,t,n)=>{const o=n(6384),{uniqueCommaSep:r,consistentResultObj:i,consistentResult:s}=n(228),a=(e,t)=>t.entities&&t.entities.filter((t=>t.roles&&t.roles.map((e=>e.trim().toLowerCase())).includes(e))),l=(e,t)=>{if(e&&e.vcardArray&&Array.isArray(e.vcardArray)&&e.vcardArray.length>1){const n=e.vcardArray[1].find((e=>e[0]===t));if(n&&Array.isArray(n)&&n.length>3)return n[3]}},c=(e,t)=>{const n=a(e,t);if(n)return r(n.map((e=>l(e,"fn")||e&&e.handle))||[])},u=(e,t)=>{const n=a(e,t);if(n)return r(n.map((e=>l(e,"email")))||[])},d=(e,t)=>{if(!t.events)return;const n=t.events.find((t=>t.eventAction.trim().toLowerCase()===e));return n&&n.eventDate?new Date(n.eventDate):void 0},p=e=>r((e.arin_originas0_originautnums||[]).map((e=>e.toString()))),C=e=>e&&(e.v4prefix||e.v6prefix)&&e.length?(e.v4prefix||e.v6prefix)+"/"+e.length.toString():void 0,f=e=>r((e.cidr0_cidrs||[]).map(C).filter((e=>void 0!==e))),h=e=>{const t=u("abuse",e);if(t)return t;const n=a("registrar",e);return n?u("abuse",{entities:n.map((e=>e.entities)).flat(1).filter((e=>void 0!==e))}):void 0};e.exports=async e=>{const t=await o(`https://rdap.cloud/api/v1/${e}`),n=await t.json().catch((()=>!1)),r=n&&n.results&&n.results[e];if(!r||!r.success||!r.data)return!1;const a=i({name:r.data.name,registrant:c("registrant",r.data),asn:p(r.data),registrar:c("registrar",r.data),registration:d("registration",r.data),expiration:d("expiration",r.data),cidr:f(r.data),abuse:h(r.data)});return s(a)}},228:e=>{e.exports.uniqueCommaSep=e=>[...new Set(e)].join(", ");const t=e=>e&&`${e}`.trim();e.exports.consistentResultObj=e=>({name:t(e.name)||void 0,registrant:t(e.registrant)||void 0,asn:t(e.asn)||void 0,registrar:t(e.registrar)||void 0,registration:e.registration||void 0,expiration:e.expiration||void 0,cidr:t(e.cidr)||void 0,abuse:t(e.abuse)||void 0}),e.exports.consistentResult=e=>!Object.values(e).every((e=>void 0===e))&&e},5798:(e,t,n)=>{const o=n(6384),{consistentResultObj:r,consistentResult:i}=n(228),s=e=>`${e}`.toLowerCase().trim().replace(/[-_]/g," "),a=e=>`${e}`.trim(),l=(e,t)=>{for(const n of e){const e=t.find((e=>e.key===n));if(e&&e.value)return e.value}},c=(e,t)=>{const n=l(e,t);if(n)return new Date(n)};e.exports=async e=>{const t=await o(`https://whoisjs.com/api/v1/${e}`),n=await t.json().catch((()=>!1));if(!n||!n.success||!n.raw)return!1;const u=(e=>{const t="\\r\\n",n=`[^\\S${t}]`,o=`^${n}*([a-zA-Z\\-\\s]+):`,r=`${n}+([^\\s${t}][^${t}]*)$`,i=`${o}${r}`,l=new RegExp(i,"gm"),c=new RegExp(i),u=`${o}[${t}]+${r}`,d=new RegExp(u,"gm"),p=new RegExp(u),C=e.match(l)||[],f=e.match(d)||[],h=[];for(const e of C){const t=e.trim().match(c);h.push({key:s(t[1]),value:a(t[2])})}for(const e of f){if(C.map((t=>e.includes(t))).includes(!0))continue;const t=e.trim().match(p);h.push({key:s(t[1]),value:a(t[2])})}return h})(n.raw);if(!u)return!1;const d=r({registrant:l(["registrant"],u),registrar:l(["registrar","organisation"],u),registration:c(["creation date","created","registered on"],u),expiration:c(["registry expiry date","expiry date"],u),abuse:l(["registrar abuse contact email"],u)});return i(d)}},7574:(e,t,n)=>{"use strict";const o=n(6098),r=n(5986),i=e=>e.split(".").reverse().join("."),s=async(e,t,n)=>{const o=await(0,r.default)(`${e}.${t}`,"A");if(o.ok&&(await o.json()).Answer){const e={};return e[n]=t,e}},a=e=>{const t=[];for(const n of o.ipBlocklists)t.push(s(i(e),n,"ip"));return t};t.Z=async(e,t)=>{const n={ip:[],domain:[]},r=[...a(e)];return t&&r.push(...(e=>{const t=[];for(const n of o.domainBlocklists)t.push(s(e,n,"domain"));return t})(t)),(await Promise.all(r)).forEach((e=>{e&&(e.ip&&n.domain.push(e.ip),e.domain&&n.domain.push(e.domain))})),n}},6098:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.domainBlocklists=t.ipBlocklists=void 0,t.ipBlocklists=["zen.spamhaus.org","sbl.spamhaus.org","xbl.spamhaus.org","dnsbl.spfbl.net","spam.spamrats.com"],t.domainBlocklists=["dbl.spamhaus.org","0spam.org","dbl.suomispam.net"]},8673:(e,t,n)=>{"use strict";const o=n(3943);t.Z={v:o.default.data.dmarc.v,ruf:o.default.data.dmarc.ruf,rua:o.default.data.dmarc.rua,pct:o.default.data.dmarc.pct,p:o.default.data.dmarc.p,aspf:o.default.data.dmarc.aspf,adkim:o.default.data.dmarc.adkim,sp:o.default.data.dmarc.sp,fo:o.default.data.dmarc.fo,rf:o.default.data.dmarc.rf,ri:o.default.data.dmarc.ri}},970:(e,t)=>{"use strict";const n=new Map;n.set(/.*digitalocean\.com\.*/,"digitalocean"),n.set(/.*cloudflare\.com\.*/,"cloudflare"),n.set(/.*registrar-servers\.com.*/,"namecheap"),n.set(/.*godaddy\.com.*/,"godaddy"),t.Z=n},3148:(e,t,n)=>{"use strict";const o=n(3943);t.Z={TTL:o.default.data.recordKeyHelp.TTL}},9940:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://support.cloudflare.com/hc/en-us/articles/360019093151-Managing-DNS-records-in-Cloudflare"},5331:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={A:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#a-records",AAAA:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#aaaa-records",CNAME:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#cname-records",MX:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#mx-records",TXT:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#txt-records",NS:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#ns-records",SRV:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#srv-records",CAA:"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#caa-records"}},68:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://uk.godaddy.com/help/manage-dns-zone-files-680"},6569:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://support.google.com/domains/answer/3290309?hl=en-GB"},218:(e,t,n)=>{"use strict";const o=n(5331),r=n(9940),i=n(6834),s=n(68),a=n(6569),l=n(4652),c=n(9622),u=n(1746);t.Z={cloudflare:r.default,digitalocean:o.default,namecheap:i.default,godaddy:s.default,googledomains:a.default,porkbun:l.default,networksolutions:c.default,namecheapregistrar:u.default}},6834:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={A:"https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain",AAAA:""}},1746:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain"},9622:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://www.networksolutions.com/support/how-to-manage-advanced-dns-records/"},4652:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="https://kb.porkbun.com/article/22-how-to-change-your-nameservers"},955:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(3943);t.default={A:{info:o.default.data.records.A,url:"https://kb.pressable.com/article/dns-record-types-explained/",expectsHost:!0},TXT:{info:o.default.data.records.TXT,url:"https://support.google.com/a/answer/2716800?hl=en",additionalDataParsing:e=>e.startsWith('"')?e.substr(1).slice(0,-1):e},MX:{info:o.default.data.records.MX,url:"https://en.wikipedia.org/wiki/MX_record",additionalDataParsing:e=>e.endsWith(".")?e.slice(0,-1):e,expectsHost:!0},AAAA:{info:o.default.data.records.AAAA,url:"https://help.fasthosts.co.uk/app/answers/detail/a_id/1548/~/dns-aaaa-records",expectsHost:!0},CNAME:{info:o.default.data.records.CNAME,url:"https://support.google.com/a/answer/112037?hl=en",expectsHost:!0},CAA:{info:o.default.data.records.CAA,url:"https://www.digitalocean.com/docs/networking/dns/how-to/caa/"},NS:{info:o.default.data.records.NS,url:"https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/",additionalDataParsing:e=>e.endsWith(".")?e.slice(0,-1):e,expectsHost:!0},SRV:{info:o.default.data.records.SRV,url:"https://en.wikipedia.org/wiki/SRV_record"},DMARC:{info:o.default.data.records.DMARC,url:"https://dmarc.org/overview/"},SSHFP:{info:o.default.data.records.SSHFP,url:"https://en.wikipedia.org/wiki/SSHFP_record"},TLSA:{info:o.default.data.records.TLSA,url:"https://simpledns.com/help/tlsa-records"}}},5810:(e,t)=>{"use strict";const n=new Map;n.set(/.*domains\.google\.com.*/,"googledomains"),n.set(/.*porkbun\.com.*/,"porkbun"),n.set(/.*networksolutions\.com.*/,"networksolutions"),n.set(/.*namecheap\.com.*/,"namecheapregistrar"),t.Z=n},4028:(e,t,n)=>{"use strict";const o=n(3943);t.Z={"google-site-verification":o.default.data.txt.google,"mailru-verification":o.default.data.txt.mailru,MS:o.default.data.txt.o365,"keybase-site-verification":o.default.data.txt.keybase,"_globalsign-domain-verification":o.default.data.txt.globalsign,"globalsign-domain-verification":o.default.data.txt.globalsign,"bugcrowd-verification":o.default.data.txt.bugcrowd,"status-page-domain-verification":o.default.data.txt.statuspage,"segment-site-verification":o.default.data.txt.segment,"logmein-verification-code":o.default.data.txt.logmein,"facebook-domain-verification":o.default.data.txt.facebook,"yandex-verification":o.default.data.txt.yandex,loaderio:o.default.data.txt.loaderio,"v=spf1":o.default.data.txt.spf}},1193:(e,t,n)=>{"use strict";const o=n(955),r=[];for(const e in o.default){const t=o.default[e];r.push({name:e,description:t.info,url:t.url,expectsHost:Boolean(t.expectsHost)})}t.Z=r},3081:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={close:"close",records:"Records",none:"None"}},7031:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={v:'This dictates the DMARC protocol version that is being used. This is normally located at the start of a record and set to DMARC1.',ruf:"This is a comma separated list of e-mails where forensic reports should be sent.",rua:"This is a comma separated list of e-mails where aggregate reports should be sent.",pct:"This defines the percentage of e-mail which will have this policy applied.",p:'This defines how domain administrators want e-mail treated on the primary domain that fail the DMARC validation checks. The options are none (treat the same as usual), quarantine (mark as spam) or reject (reject the message).',aspf:'If this is set to strict s mode the domain which e-mails are being sent from must exactly pass SPF record validation. If not, it will default to relaxed r mode where any sub-domain can inherit the root domain\'s SPF records.',adkim:'By default this is set to relaxed r mode where any sub-domain can inherit the root domain\'s DKIM records. If this is set to strict s mode, the domain which e-mails are being sent from must exactly pass DKIM record validation.',sp:'This defines how domain administrators want e-mail treated on sub-domains that fail the DMARC validation checks. The options are none (treat the same as usual), quarantine (mark as spam) or reject (reject the message).',fo:'This option allows you to configure when failure reports should be sent. The available options are 0 which is the default and specifies that a report should be sent if an email fails SPF and DKIM checks, 1 to send a report if SPF or DKIM checks fail, d to send a report for only DKIM failures and s to send a report for only SPF failures.',rf:'This is the format reports are sent in. It currently only has one supported value, afrf, which is the default.',ri:'The requested interval between DMARC reports being sent in seconds. This defaults to 86400.'}},6086:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(8743),r=n(7031),i=n(1762),s=n(2316);t.default={txt:o.default,records:i.default,recordKeyHelp:s.default,dmarc:r.default}},2316:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={TTL:"Time-to-live is a value in seconds that indicates how long a record should be cached for before being checked again"}},1762:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={A:"A records are the most basic type of DNS record and are used to point a domain or subdomain to an IPv4 address.\nThese do NOT act as MX records, to receive e-mail, you need to set a MX record.",TXT:"TXT records are a type of DNS record that contains text information for sources outside of your domain.",MX:"A mail exchanger record (MX record) specifies the mail server responsible for accepting email messages on behalf of a domain name.",AAAA:"AAAA records behave the same as A records but for IPv6.\nThey are used to point a domain or subdomain to a IPv6 address.",CNAME:"CNAME records are a DNS record that allows one domain to be mapped as an alias to another canonical domain name.",CAA:"CAA records allow domain owners to specify which Certificate Authorities (CAs) are permitted to issue certificates.",NS:'NS stands for "name server" and this record indicates which DNS server is authoritative for that domain (which server contains the actual DNS records).\nA domain will often have multiple NS records which can indicate primary and backup name servers for that domain.',SRV:"A Service record (SRV record) is a specification of data in the Domain Name System defining the location, i.e. the hostname and port number, of servers for specified services.",DMARC:"The goal of DMARC is to build on the system of senders and receivers collaborating to improve mail authentication practices of senders and enable receivers to reject unauthenticated messages.",SSHFP:"This is used to identify which SSH keys belong to the domain.",TLSA:"TLSA records are used to specify the keys used in a domain's TLS servers."}},8743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={globalsign:"This TXT record is used so that GlobalSign can verify that they are issuing certificates to the domain owner.",o365:"This TXT record is used for Office 365 domain verification.",keybase:"This TXT record is commonly used to verify that a Keybase user is in ownership of a domain.",spf:"This is a SPF record which is used to identify trusted sources for transmitted e-mail.\nThis makes it easier for receivers to tell if a e-mail is spam.",loaderio:"This is used so that Loader.io can verify the domain owner.",yandex:"This is used so that Yandex can verify the domain owner.",facebook:"This is used so that Facebook can verify the domain owner.",logmein:"This is used so that LogMeIn can verify the domain owner.",segment:"This is used so that Segment.com can verify the domain owner.",statuspage:"This is used so that Statuspage.io can verify the domain owner.",bugcrowd:"This TXT record is used so that Bugcrowd can verify the domain owner.",mailru:"This TXT record is used so that mail.ru can verify the domain owner.",google:"This TXT record is used so that Google can verify the domain owner."}},9115:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(2467),r=n(6086),i=n(3081);t.default={templates:o.default,data:r.default,common:i.default}},5950:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={title:"DNS Lookup",description:"A simple browser-based tool to perform DNS lookups.
Type a domain, search, and instantly get results.",searchButton:"Search DNS Records",textRecords:"Download/Copy Records",domain:"Domain name"}},229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={clipboardResult:"Clipboard Result",thisHasBeenCopied:"Copied to your clipboard!"}},2698:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={title:"DMARC Explanations",intro:'

A DMARC record is a normal TXT DNS records that is created at _dmarc.hostname. instead of just the root hostname.\nThis record can contain any of the following "tags" formatted as tag=value and separated by semi-colons.

\n

An example of a DMARC TXT record would be:

_dmarc.hostname. 300 IN TXT "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@hostname"

',learnMore:"Learn more about DMARC at"}},8480:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={title:"Propagation Differences",cfDns:"Cloudflare DNS",gDns:"Google DNS",host:"Host",XRecords:"({record} Records)"}},9578:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={using:"This domain is using DigitalOcean DNS.",notUsing:"This domain is not using DigitalOcean DNS.",learnMore:"Learn more about DigitalOcean DNS.",subdomain:"This is a sub-domain and does not have any NS records."}},2467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(5950),r=n(9578),i=n(9211),s=n(9986),a=n(7765),l=n(8849),c=n(2063),u=n(9391),d=n(8480),p=n(229),C=n(2698);t.default={app:o.default,dodns:r.default,mxBlocklist:i.default,records:s.default,truncatedRecord:a.default,whois:l.default,propagationModal:c.default,recordSelectionModal:u.default,dnsDiff:d.default,clipboardModal:p.default,dmarcExplainer:C.default}},9211:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={notBlocked:"Domain/IP is not blocked by any blocklists.",whatDoesItMean:"What does a mailing blocklist mean?",ipBlocked:"IP blocked by BLOCKLIST.",domainBlocked:"Domain blocked by BLOCKLIST."}},2063:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={tutorial:'\n If you recently changed a DNS value, there is a good chance it will not have propagated to all your users yet.\n DNS propagation is the process of updating DNS values across all DNS servers and waiting for users caches to invalidate.\n

\n Due to various caches at user and DNS server levels, it may take some time for all your users to see the new records.\n

\n If you use a fast updating DNS such as {link|Cloudflare DNS|https://1.1.1.1}, it may be possible to get the new values locally by flushing your DNS cache.\n Here is how you do it on several operating systems:\n
\n Windows: Press the Windows Key and R together. You should get a "Run" box. Type ipconfig /flushdns in the box and press OK. You should see a brief flash of a black box. Your cache should then be invalidated.\n

\n Linux: Linux depends on the distribution. For Debian based distributions, run sudo systemd-resolve --flush-caches.\n

\n macOS: Open Terminal and run the command sudo killall -HUP mDNSResponder.\n

\n iPadOS: Turning off and on Airplane mode will flush your DNS cache.\n
\n If you are still unable to get the correct results, you can check the propagation status using a {link|propagation checker|{{DEEPLINK}}}.\n ',title:"DNS Propagation"}},9391:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={downloadRecords:"Download Records",downloadTextForm:"Download Records In Text Form",copyTextForm:"Copy Records In Text Form",downloadMd:"Download Records In Markdown",copyMd:"Copy Records In Markdown"}},9986:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={learnMore:"Learn more",noRecords:"Could not find any records of this type.",propagation:"Why do I get different values on my local system?",learnHow:"Learn how to set {record} records with your DNS/registrar.",propagationNote:"Google DNS is reporting different values. This potentially means that your values have not propagated fully yet.",srvTlsaFormat:"Expecting to see {a} {record} record here? Make sure you're looking at the right sub-domain.\n
{record} record names are normally formatted as follows: _<{sub}>._<protocol>.name.",dmarcMechanisms:"What are the mechanisms supported in DMARC records?"}},7765:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={showMore:"Show more...",showLess:"Show less..."}},8849:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={loading:"Loading WHOIS data...",abuseContact:"Abuse Contact",owner:"Owner",notSpecified:"Not Specified"}},3943:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o={en:n(9115).default};t.default=o.en},7748:(e,t,n)=>{"use strict";t.h8=t.pT=t.Gm=void 0;const o=n(955);t.Gm=new Map;const r=e=>{const t=[];for(const n of Object.keys(e)){const o=e[n];t.push(`${n[0].toUpperCase()}${n.substr(1)}: ${o}`)}return t.join(" | ")};t.pT=e=>{let n="";for(const i of Object.keys(o.default)){const o=t.Gm.get(i);if(!o)continue;if(!e.includes(i))continue;let s=" None";if(o.Answer){s="";for(const e in o.Answer){const t=o.Answer[e];s+=`\n[${e}] ${r(t)}`}}n+=`${i} Records:${s}\n-----------\n`}return n},t.h8=e=>{let n="";for(const r of Object.keys(o.default)){const o=t.Gm.get(r);if(!o)continue;if(!e.includes(r))continue;let i="No records present.\n";if(o.Answer){const e=Object.keys(o.Answer[0]),t=[],n=[];for(const o of e){const e=`${o.substr(0,1).toUpperCase()}${o.substr(1)}`;t.push(e),n.push("-".repeat(e.length+2))}i=`| ${t.join(" | ")} |\n|${n.join("|")}|\n`;for(const e of o.Answer){const t=[];for(const n of Object.values(e))t.push(String(n));i+=`| ${t.join(" | ")} |\n`}}n+=`# ${r} Records\n\n${i}\n`}return n}},9278:(e,t)=>{"use strict";const n=["Reserved for future use","RSA","Diffie-Hellman","ECDSA","ED25519"],o=["Reserved for future use","SHA-1","SHA-256"],r=["CA constraint","Service certificate constraint","Trust anchor assertion","Domain-issued certificate"],i=["Full TLS certificate","The SubjectPublicKeyInfo of a TLS certificate"],s=["CA constraint","Service certificate constraint","Trust anchor assertion"];t.Z=(e,t,a,l,c)=>{if("MX"===e)for(const e of t.Answer){const t=e.data.split(" ");2===t.length&&(e.data=t[1],e.priority=Number(t[0]))}else if("DMARC"===e){const e=[];for(const n of t.Answer){const t=(n.data.startsWith('"')?n.data.substr(1).slice(0,-1):n.data).split(";");for(const o of t)""!==o&&e.push({name:n.name,TTL:n.TTL,data:o,type:void 0})}t.Answer=e}else if("SSHFP"===e){const e=[];for(const r of t.Answer){const t=r.data.split(" ");e.push({name:r.name,algorithm:n[Number(t[0])]||"Unknown","Fingerprint Type":o[Number(t[1])]||"Unknown",fingerprint:t[2],TTL:r.TTL,type:void 0})}t.Answer=e}else if("TLSA"===e){const e=[];for(const n of t.Answer){const t=n.data.split(" ");e.push({name:n.name,usage:r[Number(t[0])]||"Unknown",selector:i[Number(t[1])]||"Unknown","Matching Type":s[Number(t[2])]||"Unknown",fingerprint:t[3],TTL:n.TTL,type:void 0})}t.Answer=e}else if("TXT"===e)for(const e of t.Answer){const n=e.data.split(c);if(n.length>1){const o=`${n[0].substr(1).startsWith("_")?n[0].substr(2):n[0].substr(1)}%${e.name}%${e.TTL}`;a[o]?a[o]+=`\n${e.data}`:a[o]=e.data,delete t.Answer[e]}}else if("SRV"===e)for(const e of t.Answer){const t=e.data.split(" ").reverse();e.priority=t.pop(),e.weight=t.pop(),e.port=t.pop(),e.target=t.reverse().join(" "),delete e.data}t.Answer.sort(((e,t)=>e.priority?e.priority-t.priority:e.TTL?t.TTL-e.TTL:void 0));for(const e of t.Answer){delete e.type;const t=Object.keys(e);for(const n of t){const t=`${n[0].toUpperCase()}${n.substr(1)}`;l[t]?l[t].push(e[n]):l[t]=[e[n]]}}}},1310:(e,t)=>{"use strict";t.I=void 0,t.I=e=>{let t=0;for(const n of e)n.length>t&&(t=n.length);return t}},8967:(e,t,n)=>{"use strict";const o=n(609);t.Z=async e=>await(0,o.default)(`https://get.geojs.io/v1/ip/geo/${e}.json`,{headers:{Accept:"application/json"}})},5251:(e,t,n)=>{"use strict";const o=n(609);t.Z=async(e,t)=>await(0,o.default)(`https://dns.google/resolve?name=${encodeURIComponent(e)}&type=${encodeURIComponent(t)}`)},9091:(e,t,n)=>{"use strict";const o=n(1965);t.Z=async e=>await o(encodeURIComponent(e),!0)},8040:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={close:"close",searchButton:"Search",searchPlaceholder:"Enter a domain to get started",invalidDomain:"The domain you entered isn't valid."}},5778:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(3941),r=n(8040);t.default={common:r.default,templates:o.default}},1239:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={title:"Uh oh, something went wrong..."}},3348:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={oss:"This tool is {link|open-source on GitHub|https://github.com/do-community/dns-tool} under the {link|Apache-2.0|https://github.com/do-community/dns-tool/blob/master/LICENSE} license! We welcome feedback and contributions."}},3941:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(3348),r=n(1239);t.default={footer:o.default,errorModal:r.default}},6649:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o={en:n(5778).default};t.default=o.en},609:(e,t)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),t.remakeController=void 0,t.remakeController=()=>{n&&n.abort(),n=new AbortController},(0,t.remakeController)(),t.default=(e,t)=>new Promise((async(o,r)=>{let i=1;for(;;){let s,a;try{void 0===t?t={signal:n.signal}:t.signal=n.signal,s=await fetch(e,t)}catch(t){return"AbortError"===t.name&&console.info(`Request to ${e} was aborted.`),r(t)}if(429!==s.status&&5!==Math.floor(s.status/100))return o(s);const l=()=>(i*=2,i>512?(console.warn(`Given up backing off for ${e}! Returning the response to the function.`),o(s)):i),c=s.headers.get("Retry-After");if(c){const e=Number(c);if(isNaN(e))try{const e=new Date(c);if(isNaN(e.getTime()))throw new Error;a=Math.floor((e.getTime()-(new Date).getTime())/1e3)}catch(e){const t=l();if(!t)return;a=t}else a=e}else{const e=l();if(!e)return;a=e}console.warn(`${e} has returned a status ${s.status}. Backing off for ${a} second(s).`),await new Promise((e=>setTimeout(e,1e3*a)))}}))},5986:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=n(609);t.default=async(e,t)=>await(0,o.default)(`https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(e)}&type=${encodeURIComponent(t)}`,{headers:{Accept:"application/dns-json"}})},5503:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>([[//g,">"],[/'/g,"'"],[/"/g,"""]].forEach((t=>{e=e.replace(t[0],t[1])})),e)},6557:(e,t)=>{"use strict";t.YI=t.XF=void 0,t.XF=(e,t)=>(e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e),t.YI=(e,n,o=1)=>({height:`${o}em`,margin:.35*o+"em 0",background:`hsl(0, 0%, ${(0,t.XF)(80,90)}%)`,borderRadius:.5*o+"em",width:`${(0,t.XF)(e,n)}px`,opacity:""+(0,t.XF)(20,30)/100,animationDelay:`${(0,t.XF)(0,600)}ms`,animationDuration:`${(0,t.XF)(900,1200)}ms`})},7719:(e,t,n)=>{"use strict";const o=n(5986),r=n(5503),i=n(6649),s=/(https*:\/\/)*(.+)*/,a=/.*\.[a-z]+/;t.Z=async e=>{const t=s.exec(e.toLowerCase());if(null===t)return[null,i.default.common.invalidDomain];const n=t[2]?t[2].replace(/\//g,""):"";if(!n.match(a))return[null,i.default.common.invalidDomain];const l=await(0,o.default)(n,"NULL");let c;try{c=await l.json()}catch(e){return[null,i.default.common.invalidDomain]}if(0!==c.Status){let e=i.default.common.invalidDomain;return c.Comment&&(e+=`

${(0,r.default)(c.Comment.toString())}`),[null,e]}return[n,null]}}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),void 0!==n&&Object.defineProperty(n,"p",{get:function(){try{if("function"!=typeof __webpackDynamicImportURL)throw new Error("WebpackRequireFrom: '__webpackDynamicImportURL' is not a function or not available at runtime. See https://github.com/agoldis/webpack-require-from#troubleshooting");return __webpackDynamicImportURL()}catch(e){return"./"}},set:function(e){console.warn("WebpackRequireFrom: something is trying to override webpack public path. Ignoring the new value"+e+".")}}),(()=>{const e=document.currentScript.src.split("/").slice(0,-1).join("/")+"/";window.__webpackDynamicImportURL=()=>(console.info(`Using ${e} for webpack dynamic import`),e)})(),(()=>{"use strict";function e(e,t){const n=Object.create(null),o=e.split(",");for(let e=0;e!!n[e.toLowerCase()]:e=>!!n[e]}const t={},o=[],r=()=>{},i=()=>!1,s=/^on[^a-z]/,a=e=>s.test(e),l=e=>e.startsWith("onUpdate:"),c=Object.assign,u=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,p=(e,t)=>d.call(e,t),C=Array.isArray,f=e=>"[object Map]"===L(e),h=e=>"[object Set]"===L(e),m=e=>"function"==typeof e,g=e=>"string"==typeof e,v=e=>"symbol"==typeof e,y=e=>null!==e&&"object"==typeof e,b=e=>y(e)&&m(e.then)&&m(e.catch),w=Object.prototype.toString,L=e=>w.call(e),M=e=>L(e).slice(8,-1),_=e=>"[object Object]"===L(e),x=e=>g(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,S=e(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),k=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},T=/-(\w)/g,O=k((e=>e.replace(T,((e,t)=>t?t.toUpperCase():"")))),Z=/\B([A-Z])/g,A=k((e=>e.replace(Z,"-$1").toLowerCase())),E=k((e=>e.charAt(0).toUpperCase()+e.slice(1))),D=k((e=>e?`on${E(e)}`:"")),P=(e,t)=>!Object.is(e,t),$=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},H=e=>{const t=parseFloat(e);return isNaN(t)?e:t},F=e=>{const t=g(e)?Number(e):NaN;return isNaN(t)?e:t};let j;const V=()=>j||(j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:{});function I(e){if(C(e)){const t={};for(let n=0;n{if(e){const n=e.split(B);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function X(e){let t="";if(g(e))t=e;else if(C(e))for(let n=0;ng(e)?e:null==e?"":C(e)||y(e)&&(e.toString===w||!m(e.toString))?JSON.stringify(e,Y,2):String(e),Y=(e,t)=>t&&t.__v_isRef?Y(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:h(t)?{[`Set(${t.size})`]:[...t.values()]}:!y(t)||C(t)||_(t)?t:String(t);let G;class J{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=G,!e&&G&&(this.index=(G.scopes||(G.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=G;try{return G=this,e()}finally{G=t}}}on(){G=this}off(){G=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},ee=e=>(e.w&re)>0,te=e=>(e.n&re)>0,ne=new WeakMap;let oe=0,re=1;const ie=30;let se;const ae=Symbol(""),le=Symbol("");class ce{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e,t=G){t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=se,t=de;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=se,se=this,de=!0,re=1<<++oe,oe<=ie?(({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||n>=e)&&a.push(t)}))}else switch(void 0!==n&&a.push(s.get(n)),t){case"add":C(e)?x(n)&&a.push(s.get("length")):(a.push(s.get(ae)),f(e)&&a.push(s.get(le)));break;case"delete":C(e)||(a.push(s.get(ae)),f(e)&&a.push(s.get(le)));break;case"set":f(e)&&a.push(s.get(ae))}if(1===a.length)a[0]&&ve(a[0]);else{const e=[];for(const t of a)t&&e.push(...t);ve(Q(e))}}function ve(e,t){const n=C(e)?e:[...e];for(const e of n)e.computed&&ye(e);for(const e of n)e.computed||ye(e)}function ye(e,t){(e!==se||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const be=e("__proto__,__v_isRef,__isVue"),we=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(v)),Le=Te(),Me=Te(!1,!0),_e=Te(!0),xe=Se();function Se(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=dt(this);for(let e=0,t=this.length;e{e[t]=function(...e){Ce();const n=dt(this)[t].apply(this,e);return fe(),n}})),e}function ke(e){const t=dt(this);return he(t,0,e),t.hasOwnProperty(e)}function Te(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?ot:nt:t?tt:et).get(n))return n;const i=C(n);if(!e){if(i&&p(xe,o))return Reflect.get(xe,o,r);if("hasOwnProperty"===o)return ke}const s=Reflect.get(n,o,r);return(v(o)?we.has(o):be(o))?s:(e||he(n,0,o),t?s:gt(s)?i&&x(o)?s:s.value:y(s)?e?it(s):rt(s):s)}}function Oe(e=!1){return function(t,n,o,r){let i=t[n];if(lt(i)&>(i)&&!gt(o))return!1;if(!e&&(ct(o)||lt(o)||(i=dt(i),o=dt(o)),!C(t)&>(i)&&!gt(o)))return i.value=o,!0;const s=C(t)&&x(n)?Number(n)!0,deleteProperty:(e,t)=>!0},Ee=c({},Ze,{get:Me,set:Oe(!0)}),De=e=>e,Pe=e=>Reflect.getPrototypeOf(e);function $e(e,t,n=!1,o=!1){const r=dt(e=e.__v_raw),i=dt(t);n||(t!==i&&he(r,0,t),he(r,0,i));const{has:s}=Pe(r),a=o?De:n?ft:Ct;return s.call(r,t)?a(e.get(t)):s.call(r,i)?a(e.get(i)):void(e!==r&&e.get(t))}function Re(e,t=!1){const n=this.__v_raw,o=dt(n),r=dt(e);return t||(e!==r&&he(o,0,e),he(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function He(e,t=!1){return e=e.__v_raw,!t&&he(dt(e),0,ae),Reflect.get(e,"size",e)}function Fe(e){e=dt(e);const t=dt(this);return Pe(t).has.call(t,e)||(t.add(e),ge(t,"add",e,e)),this}function je(e,t){t=dt(t);const n=dt(this),{has:o,get:r}=Pe(n);let i=o.call(n,e);i||(e=dt(e),i=o.call(n,e));const s=r.call(n,e);return n.set(e,t),i?P(t,s)&&ge(n,"set",e,t):ge(n,"add",e,t),this}function Ve(e){const t=dt(this),{has:n,get:o}=Pe(t);let r=n.call(t,e);r||(e=dt(e),r=n.call(t,e)),o&&o.call(t,e);const i=t.delete(e);return r&&ge(t,"delete",e,void 0),i}function Ie(){const e=dt(this),t=0!==e.size,n=e.clear();return t&&ge(e,"clear",void 0,void 0),n}function Ne(e,t){return function(n,o){const r=this,i=r.__v_raw,s=dt(i),a=t?De:e?ft:Ct;return!e&&he(s,0,ae),i.forEach(((e,t)=>n.call(o,a(e),a(t),r)))}}function Be(e,t,n){return function(...o){const r=this.__v_raw,i=dt(r),s=f(i),a="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,c=r[e](...o),u=n?De:t?ft:Ct;return!t&&he(i,0,l?le:ae),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:a?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return"delete"!==e&&this}}function We(){const e={get(e){return $e(this,e)},get size(){return He(this)},has:Re,add:Fe,set:je,delete:Ve,clear:Ie,forEach:Ne(!1,!1)},t={get(e){return $e(this,e,!1,!0)},get size(){return He(this)},has:Re,add:Fe,set:je,delete:Ve,clear:Ie,forEach:Ne(!1,!0)},n={get(e){return $e(this,e,!0)},get size(){return He(this,!0)},has(e){return Re.call(this,e,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Ne(!0,!1)},o={get(e){return $e(this,e,!0,!0)},get size(){return He(this,!0)},has(e){return Re.call(this,e,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Ne(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=Be(r,!1,!1),n[r]=Be(r,!0,!1),t[r]=Be(r,!1,!0),o[r]=Be(r,!0,!0)})),[e,n,t,o]}const[Xe,Ke,qe,ze]=We();function Ye(e,t){const n=t?e?ze:qe:e?Ke:Xe;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(p(n,o)&&o in t?n:t,o,r)}const Ge={get:Ye(!1,!1)},Je={get:Ye(!1,!0)},Qe={get:Ye(!0,!1)},et=new WeakMap,tt=new WeakMap,nt=new WeakMap,ot=new WeakMap;function rt(e){return lt(e)?e:st(e,!1,Ze,Ge,et)}function it(e){return st(e,!0,Ae,Qe,nt)}function st(e,t,n,o,r){if(!y(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const s=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(M(a));var a;if(0===s)return e;const l=new Proxy(e,2===s?o:n);return r.set(e,l),l}function at(e){return lt(e)?at(e.__v_raw):!(!e||!e.__v_isReactive)}function lt(e){return!(!e||!e.__v_isReadonly)}function ct(e){return!(!e||!e.__v_isShallow)}function ut(e){return at(e)||lt(e)}function dt(e){const t=e&&e.__v_raw;return t?dt(t):e}function pt(e){return R(e,"__v_skip",!0),e}const Ct=e=>y(e)?rt(e):e,ft=e=>y(e)?it(e):e;function ht(e){de&&se&&me((e=dt(e)).dep||(e.dep=Q()))}function mt(e,t){const n=(e=dt(e)).dep;n&&ve(n)}function gt(e){return!(!e||!0!==e.__v_isRef)}function vt(e){return n=!1,gt(t=e)?t:new yt(t,n);var t,n}class yt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:dt(e),this._value=t?e:Ct(e)}get value(){return ht(this),this._value}set value(e){const t=this.__v_isShallow||ct(e)||lt(e);e=t?e:dt(e),P(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Ct(e),mt(this))}}function bt(e){return gt(e)?e.value:e}const wt={get:(e,t,n)=>bt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return gt(r)&&!gt(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Lt(e){return at(e)?e:new Proxy(e,wt)}class Mt{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ce(e,(()=>{this._dirty||(this._dirty=!0,mt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=dt(this);return ht(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function _t(e,t,n,o){let r;try{r=o?e(...o):e()}catch(e){St(e,t,n)}return r}function xt(e,t,n,o){if(m(e)){const r=_t(e,t,n,o);return r&&b(r)&&r.catch((e=>{St(e,t,n)})),r}const r=[];for(let i=0;i>>1;It(Ot[o])It(e)-It(t))),Dt=0;Dtnull==e.id?1/0:e.id,Nt=(e,t)=>{const n=It(e)-It(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Bt(e){Tt=!1,kt=!0,Ot.sort(Nt);try{for(Zt=0;ZtUt.emit(e,...t))),Wt=[]):"undefined"!=typeof window&&window.HTMLElement&&!(null==(o=null==(n=window.navigator)?void 0:n.userAgent)?void 0:o.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((e=>{qt(e,t)})),setTimeout((()=>{Ut||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Xt=!0,Wt=[])}),3e3)):(Xt=!0,Wt=[])}const zt=Qt("component:added"),Yt=Qt("component:updated"),Gt=Qt("component:removed"),Jt=e=>{Ut&&"function"==typeof Ut.cleanupBuffer&&!Ut.cleanupBuffer(e)&&Gt(e)};function Qt(e){return t=>{Kt(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function en(e,n,...o){if(e.isUnmounted)return;const r=e.vnode.props||t;let i=o;const s=n.startsWith("update:"),a=s&&n.slice(7);if(a&&a in r){const e=`${"modelValue"===a?"model":a}Modifiers`,{number:n,trim:s}=r[e]||t;s&&(i=o.map((e=>g(e)?e.trim():e))),n&&(i=o.map(H))}let l;__VUE_PROD_DEVTOOLS__&&function(e,t,n){Kt("component:emit",e.appContext.app,e,t,n)}(e,n,i);let c=r[l=D(n)]||r[l=D(O(n))];!c&&s&&(c=r[l=D(A(n))]),c&&xt(c,e,6,i);const u=r[l+"Once"];if(u){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,xt(u,e,6,i)}}function tn(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const i=e.emits;let s={},a=!1;if(__VUE_OPTIONS_API__&&!m(e)){const o=e=>{const n=tn(e,t,!0);n&&(a=!0,c(s,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return i||a?(C(i)?i.forEach((e=>s[e]=null)):c(s,i),y(e)&&o.set(e,s),s):(y(e)&&o.set(e,null),null)}function nn(e,t){return!(!e||!a(t))&&(t=t.slice(2).replace(/Once$/,""),p(e,t[0].toLowerCase()+t.slice(1))||p(e,A(t))||p(e,t))}let on=null,rn=null;function sn(e){const t=on;return on=e,rn=e&&e.type.__scopeId||null,t}function an(e,t=on,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&Qo(-1);const r=sn(t);let i;try{i=e(...n)}finally{sn(r),o._d&&Qo(1)}return __VUE_PROD_DEVTOOLS__&&Yt(t),i};return o._n=!0,o._c=!0,o._d=!0,o}function ln(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:i,propsOptions:[s],slots:a,attrs:c,emit:u,render:d,renderCache:p,data:C,setupState:f,ctx:h,inheritAttrs:m}=e;let g,v;const y=sn(e);try{if(4&n.shapeFlag){const e=r||o;g=Cr(d.call(e,e,p,i,f,C,h)),v=c}else{const e=t;g=Cr(e.length>1?e(i,{attrs:c,slots:a,emit:u}):e(i,null)),v=t.props?c:cn(c)}}catch(t){zo.length=0,St(t,e,1),g=cr(Ko)}let b=g;if(v&&!1!==m){const e=Object.keys(v),{shapeFlag:t}=b;e.length&&7&t&&(s&&e.some(l)&&(v=un(v,s)),b=ur(b,v))}return n.dirs&&(b=ur(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),g=b,sn(y),g}const cn=e=>{let t;for(const n in e)("class"===n||"style"===n||a(n))&&((t||(t={}))[n]=e[n]);return t},un=(e,t)=>{const n={};for(const o in e)l(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function dn(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let r=0;re.value,h=ct(e)):at(e)?(p=()=>e,i=!0):C(e)?(g=!0,h=e.some((e=>at(e)||ct(e))),p=()=>e.map((e=>gt(e)?e.value:at(e)?gn(e):m(e)?_t(e,d,2):void 0))):p=m(e)?n?()=>_t(e,d,2):()=>{if(!d||!d.isUnmounted)return f&&f(),xt(e,d,3,[y])}:r,n&&i){const e=p;p=()=>gn(e())}let v,y=e=>{f=M.onStop=()=>{_t(e,d,4)}};if(Or){if(y=r,n?o&&xt(n,d,3,[p(),g?[]:void 0,y]):p(),"sync"!==s)return r;{const e=Rr();v=e.__watcherHandles||(e.__watcherHandles=[])}}let b=g?new Array(e.length).fill(pn):pn;const w=()=>{if(M.active)if(n){const e=M.run();(i||h||(g?e.some(((e,t)=>P(e,b[t]))):P(e,b)))&&(f&&f(),xt(n,d,3,[e,b===pn?void 0:g&&b[0]===pn?[]:b,y]),b=e)}else M.run()};let L;w.allowRecurse=!!n,"sync"===s?L=w:"post"===s?L=()=>Io(w,d&&d.suspense):(w.pre=!0,d&&(w.id=d.uid),L=()=>Ht(w));const M=new ce(p,L);n?o?w():b=M.run():"post"===s?Io(M.run.bind(M),d&&d.suspense):M.run();const _=()=>{M.stop(),d&&d.scope&&u(d.scope.effects,M)};return v&&v.push(_),_}function hn(e,t,n){const o=this.proxy,r=g(e)?e.includes(".")?mn(o,e):()=>o[e]:e.bind(o,o);let i;m(t)?i=t:(i=t.handler,n=t);const s=yr;_r(this);const a=fn(r,i.bind(o),n);return s?_r(s):xr(),a}function mn(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{gn(e,t)}));else if(_(e))for(const n in e)gn(e[n],t);return e}function vn(e,n){const o=on;if(null===o)return e;const r=Er(o)||o.proxy,i=e.dirs||(e.dirs=[]);for(let e=0;e{e.isMounted=!0})),Bn((()=>{e.isUnmounting=!0})),e}();let r;return()=>{const i=t.default&&On(t.default(),!0);if(!i||!i.length)return;let s=i[0];if(i.length>1){let e=!1;for(const t of i)if(t.type!==Ko){s=t,e=!0;break}}const a=dt(e),{mode:l}=a;if(o.isLeaving)return Sn(s);const c=kn(s);if(!c)return Sn(s);const u=xn(c,a,o,n);Tn(c,u);const d=n.subTree,p=d&&kn(d);let C=!1;const{getTransitionKey:f}=c.type;if(f){const e=f();void 0===r?r=e:e!==r&&(r=e,C=!0)}if(p&&p.type!==Ko&&(!rr(c,p)||C)){const e=xn(p,a,o,n);if(Tn(p,e),"out-in"===l)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},Sn(s);"in-out"===l&&c.type!==Ko&&(e.delayLeave=(e,t,n)=>{_n(o,p)[String(p.key)]=p,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return s}}},Mn=Ln;function _n(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function xn(e,t,n,o){const{appear:r,mode:i,persisted:s=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:p,onAfterLeave:f,onLeaveCancelled:h,onBeforeAppear:m,onAppear:g,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),w=_n(n,e),L=(e,t)=>{e&&xt(e,o,9,t)},M=(e,t)=>{const n=t[1];L(e,t),C(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},_={mode:i,persisted:s,beforeEnter(t){let o=a;if(!n.isMounted){if(!r)return;o=m||a}t._leaveCb&&t._leaveCb(!0);const i=w[b];i&&rr(e,i)&&i.el._leaveCb&&i.el._leaveCb(),L(o,[t])},enter(e){let t=l,o=c,i=u;if(!n.isMounted){if(!r)return;t=g||l,o=v||c,i=y||u}let s=!1;const a=e._enterCb=t=>{s||(s=!0,L(t?i:o,[e]),_.delayedLeave&&_.delayedLeave(),e._enterCb=void 0)};t?M(t,[e,a]):a()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();L(d,[t]);let i=!1;const s=t._leaveCb=n=>{i||(i=!0,o(),L(n?h:f,[t]),t._leaveCb=void 0,w[r]===e&&delete w[r])};w[r]=e,p?M(p,[t,s]):s()},clone:e=>xn(e,t,n,o)};return _}function Sn(e){if(En(e))return(e=ur(e)).children=null,e}function kn(e){return En(e)?e.children?e.children[0]:void 0:e}function Tn(e,t){6&e.shapeFlag&&e.component?Tn(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function On(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let e=0;ec({name:e.name},t,{setup:e}))():e}const An=e=>!!e.type.__asyncLoader,En=e=>e.type.__isKeepAlive;function Dn(e,t){$n(e,"a",t)}function Pn(e,t){$n(e,"da",t)}function $n(e,t,n=yr){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Hn(t,o,n),n){let e=n.parent;for(;e&&e.parent;)En(e.parent.vnode)&&Rn(o,t,n,e),e=e.parent}}function Rn(e,t,n,o){const r=Hn(t,e,o,!0);Un((()=>{u(o[t],r)}),n)}function Hn(e,t,n=yr,o=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Ce(),_r(n);const r=xt(t,n,e,o);return xr(),fe(),r});return o?r.unshift(i):r.push(i),i}}RegExp,RegExp;const Fn=e=>(t,n=yr)=>(!Or||"sp"===e)&&Hn(e,((...e)=>t(...e)),n),jn=Fn("bm"),Vn=Fn("m"),In=Fn("bu"),Nn=Fn("u"),Bn=Fn("bum"),Un=Fn("um"),Wn=Fn("sp"),Xn=Fn("rtg"),Kn=Fn("rtc");function qn(e,t=yr){Hn("ec",e,t)}const zn="components";function Yn(e,t){return Qn(zn,e,!0,t)||e}const Gn=Symbol.for("v-ndc");function Jn(e){return Qn("directives",e)}function Qn(e,t,n=!0,o=!1){const r=on||yr;if(r){const n=r.type;if(e===zn){const e=function(e,t=!0){return m(e)?e.displayName||e.name:e.name||t&&e.__name}(n,!1);if(e&&(e===t||e===O(t)||e===E(O(t))))return n}const i=eo(r[e]||n[e],t)||eo(r.appContext[e],t);return!i&&o?n:i}}function eo(e,t){return e&&(e[t]||e[O(t)]||e[E(O(t))])}function to(e,t,n,o){let r;const i=n&&n[o];if(C(e)||g(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,s=n.length;o!or(e)||e.type!==Ko&&!(e.type===Wo&&!oo(e.children))))?e:null}const ro=e=>e?Sr(e)?Er(e)||e.proxy:ro(e.parent):null,io=c(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ro(e.parent),$root:e=>ro(e.root),$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?Co(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>Ht(e.update)),$nextTick:e=>e.n||(e.n=Rt.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?hn.bind(e):r}),so=(e,n)=>e!==t&&!e.__isScriptSetup&&p(e,n),ao={get({_:e},n){const{ctx:o,setupState:r,data:i,props:s,accessCache:a,type:l,appContext:c}=e;let u;if("$"!==n[0]){const l=a[n];if(void 0!==l)switch(l){case 1:return r[n];case 2:return i[n];case 4:return o[n];case 3:return s[n]}else{if(so(r,n))return a[n]=1,r[n];if(i!==t&&p(i,n))return a[n]=2,i[n];if((u=e.propsOptions[0])&&p(u,n))return a[n]=3,s[n];if(o!==t&&p(o,n))return a[n]=4,o[n];__VUE_OPTIONS_API__&&!co||(a[n]=0)}}const d=io[n];let C,f;return d?("$attrs"===n&&he(e,0,n),d(e)):(C=l.__cssModules)&&(C=C[n])?C:o!==t&&p(o,n)?(a[n]=4,o[n]):(f=c.config.globalProperties,p(f,n)?f[n]:void 0)},set({_:e},n,o){const{data:r,setupState:i,ctx:s}=e;return so(i,n)?(i[n]=o,!0):r!==t&&p(r,n)?(r[n]=o,!0):!(p(e.props,n)||"$"===n[0]&&n.slice(1)in e||(s[n]=o,0))},has({_:{data:e,setupState:n,accessCache:o,ctx:r,appContext:i,propsOptions:s}},a){let l;return!!o[a]||e!==t&&p(e,a)||so(n,a)||(l=s[0])&&p(l,a)||p(r,a)||p(io,a)||p(i.config.globalProperties,a)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:p(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lo(e){return C(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let co=!0;function uo(e,t,n){xt(C(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function po(e,t,n,o){const r=o.includes(".")?mn(n,o):()=>n[o];if(g(e)){const n=t[e];m(n)&&Cn(r,n)}else if(m(e))Cn(r,e.bind(n));else if(y(e))if(C(e))e.forEach((e=>po(e,t,n,o)));else{const o=m(e.handler)?e.handler.bind(n):t[e.handler];m(o)&&Cn(r,o,e)}}function Co(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,a=i.get(t);let l;return a?l=a:r.length||n||o?(l={},r.length&&r.forEach((e=>fo(l,e,s,!0))),fo(l,t,s)):l=t,y(t)&&i.set(t,l),l}function fo(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&fo(e,i,n,!0),r&&r.forEach((t=>fo(e,t,n,!0)));for(const r in t)if(o&&"expose"===r);else{const o=ho[r]||n&&n[r];e[r]=o?o(e[r],t[r]):t[r]}return e}const ho={data:mo,props:bo,emits:bo,methods:yo,computed:yo,beforeCreate:vo,created:vo,beforeMount:vo,mounted:vo,beforeUpdate:vo,updated:vo,beforeDestroy:vo,beforeUnmount:vo,destroyed:vo,unmounted:vo,activated:vo,deactivated:vo,errorCaptured:vo,serverPrefetch:vo,components:yo,directives:yo,watch:function(e,t){if(!e)return t;if(!t)return e;const n=c(Object.create(null),e);for(const o in t)n[o]=vo(e[o],t[o]);return n},provide:mo,inject:function(e,t){return yo(go(e),go(t))}};function mo(e,t){return t?e?function(){return c(m(e)?e.call(this,this):e,m(t)?t.call(this,this):t)}:t:e}function go(e){if(C(e)){const t={};for(let n=0;n(i.has(e)||(e&&m(e.install)?(i.add(e),e.install(a,...t)):m(e)&&(i.add(e),e(a,...t))),a),mixin:e=>(__VUE_OPTIONS_API__&&(r.mixins.includes(e)||r.mixins.push(e)),a),component:(e,t)=>t?(r.components[e]=t,a):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,a):r.directives[e],mount(i,l,c){if(!s){const u=cr(n,o);return u.appContext=r,l&&t?t(u,i):e(u,i,c),s=!0,a._container=i,i.__vue_app__=a,__VUE_PROD_DEVTOOLS__&&(a._instance=u.component,function(e,t){Kt("app:init",e,t,{Fragment:Wo,Text:Xo,Comment:Ko,Static:qo})}(a,Hr)),Er(u.component)||u.component.proxy}},unmount(){s&&(e(null,a._container),__VUE_PROD_DEVTOOLS__&&(a._instance=null,function(e){Kt("app:unmount",e)}(a)),delete a._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,a),runWithContext(e){_o=a;try{return e()}finally{_o=null}}};return a}}let _o=null;function xo(e,t,n=!1){const o=yr||on;if(o||_o){const r=o?null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:_o._context.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&m(t)?t.call(o&&o.proxy):t}}function So(e,n,o,r){const[i,s]=e.propsOptions;let a,l=!1;if(n)for(let t in n){if(S(t))continue;const c=n[t];let u;i&&p(i,u=O(t))?s&&s.includes(u)?(a||(a={}))[u]=c:o[u]=c:nn(e.emitsOptions,t)||t in r&&c===r[t]||(r[t]=c,l=!0)}if(s){const n=dt(o),r=a||t;for(let t=0;t{d=!0;const[t,o]=To(e,n,!0);c(l,t),o&&u.push(...o)};!r&&n.mixins.length&&n.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!a&&!d)return y(e)&&i.set(e,o),o;if(C(a))for(let e=0;e-1,o[1]=n<0||e-1||p(o,"default"))&&u.push(t)}}}const f=[l,u];return y(e)&&i.set(e,f),f}function Oo(e){return"$"!==e[0]}function Zo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function Ao(e,t){return Zo(e)===Zo(t)}function Eo(e,t){return C(t)?t.findIndex((t=>Ao(t,e))):m(t)&&Ao(t,e)?0:-1}const Do=e=>"_"===e[0]||"$stable"===e,Po=e=>C(e)?e.map(Cr):[Cr(e)],$o=(e,t,n)=>{if(t._n)return t;const o=an(((...e)=>Po(t(...e))),n);return o._c=!1,o},Ro=(e,t,n)=>{const o=e._ctx;for(const n in e){if(Do(n))continue;const r=e[n];if(m(r))t[n]=$o(0,r,o);else if(null!=r){const e=Po(r);t[n]=()=>e}}},Ho=(e,t)=>{const n=Po(t);e.slots.default=()=>n},Fo=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=dt(t),R(t,"_",n)):Ro(t,e.slots={})}else e.slots={},t&&Ho(e,t);R(e.slots,ir,1)},jo=(e,n,o)=>{const{vnode:r,slots:i}=e;let s=!0,a=t;if(32&r.shapeFlag){const e=n._;e?o&&1===e?s=!1:(c(i,n),o||1!==e||delete i._):(s=!n.$stable,Ro(n,i)),a=n}else n&&(Ho(e,n),a={default:1});if(s)for(const e in i)Do(e)||e in a||delete i[e]};function Vo(e,n,o,r,i=!1){if(C(e))return void e.forEach(((e,t)=>Vo(e,n&&(C(n)?n[t]:n),o,r,i)));if(An(r)&&!i)return;const s=4&r.shapeFlag?Er(r.component)||r.component.proxy:r.el,a=i?null:s,{i:l,r:c}=e,d=n&&n.r,f=l.refs===t?l.refs={}:l.refs,h=l.setupState;if(null!=d&&d!==c&&(g(d)?(f[d]=null,p(h,d)&&(h[d]=null)):gt(d)&&(d.value=null)),m(c))_t(c,l,12,[a,f]);else{const t=g(c),n=gt(c);if(t||n){const r=()=>{if(e.f){const n=t?p(h,c)?h[c]:f[c]:c.value;i?C(n)&&u(n,s):C(n)?n.includes(s)||n.push(s):t?(f[c]=[s],p(h,c)&&(h[c]=f[c])):(c.value=[s],e.k&&(f[e.k]=c.value))}else t?(f[c]=a,p(h,c)&&(h[c]=a)):n&&(c.value=a,e.k&&(f[e.k]=a))};a?(r.id=-1,Io(r,o)):r()}}}const Io=function(e,t){var n;t&&t.pendingBranch?C(e)?t.effects.push(...e):t.effects.push(e):(C(n=e)?At.push(...n):Et&&Et.includes(n,n.allowRecurse?Dt+1:Dt)||At.push(n),Ft())};function No(e,n){"boolean"!=typeof __VUE_OPTIONS_API__&&(V().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(V().__VUE_PROD_DEVTOOLS__=!1);const i=V();i.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&qt(i.__VUE_DEVTOOLS_GLOBAL_HOOK__,i);const{insert:s,remove:a,patchProp:l,createElement:c,createText:u,createComment:d,setText:C,setElementText:f,parentNode:h,nextSibling:m,setScopeId:g=r,insertStaticContent:v}=e,y=(e,t,n,o=null,r=null,i=null,s=!1,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!rr(e,t)&&(o=Q(e),K(e,r,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case Xo:w(e,t,n,o);break;case Ko:L(e,t,n,o);break;case qo:null==e&&M(t,n,o,s);break;case Wo:P(e,t,n,o,r,i,s,a,l);break;default:1&d?_(e,t,n,o,r,i,s,a,l):6&d?H(e,t,n,o,r,i,s,a,l):(64&d||128&d)&&c.process(e,t,n,o,r,i,s,a,l,te)}null!=u&&r&&Vo(u,e&&e.ref,i,t||e,!t)},w=(e,t,n,o)=>{if(null==e)s(t.el=u(t.children),n,o);else{const n=t.el=e.el;t.children!==e.children&&C(n,t.children)}},L=(e,t,n,o)=>{null==e?s(t.el=d(t.children||""),n,o):t.el=e.el},M=(e,t,n,o)=>{[e.el,e.anchor]=v(e.children,t,n,o,e.el,e.anchor)},_=(e,t,n,o,r,i,s,a,l)=>{s=s||"svg"===t.type,null==e?x(t,n,o,r,i,s,a,l):Z(e,t,r,i,s,a,l)},x=(e,t,n,o,r,i,a,u)=>{let d,p;const{type:C,props:h,shapeFlag:m,transition:g,dirs:v}=e;if(d=e.el=c(e.type,i,h&&h.is,h),8&m?f(d,e.children):16&m&&T(e.children,d,null,o,r,i&&"foreignObject"!==C,a,u),v&&yn(e,null,o,"created"),k(d,e,e.scopeId,a,o),h){for(const t in h)"value"===t||S(t)||l(d,t,null,h[t],i,e.children,o,r,G);"value"in h&&l(d,"value",null,h.value),(p=h.onVnodeBeforeMount)&&mr(p,o,e)}__VUE_PROD_DEVTOOLS__&&(Object.defineProperty(d,"__vnode",{value:e,enumerable:!1}),Object.defineProperty(d,"__vueParentComponent",{value:o,enumerable:!1})),v&&yn(e,null,o,"beforeMount");const y=(!r||r&&!r.pendingBranch)&&g&&!g.persisted;y&&g.beforeEnter(d),s(d,t,n),((p=h&&h.onVnodeMounted)||y||v)&&Io((()=>{p&&mr(p,o,e),y&&g.enter(d),v&&yn(e,null,o,"mounted")}),r)},k=(e,t,n,o,r)=>{if(n&&g(e,n),o)for(let t=0;t{for(let c=l;c{const c=n.el=e.el;let{patchFlag:u,dynamicChildren:d,dirs:p}=n;u|=16&e.patchFlag;const C=e.props||t,h=n.props||t;let m;o&&Bo(o,!1),(m=h.onVnodeBeforeUpdate)&&mr(m,o,n,e),p&&yn(n,e,o,"beforeUpdate"),o&&Bo(o,!0);const g=i&&"foreignObject"!==n.type;if(d?E(e.dynamicChildren,d,c,o,r,g,s):a||B(e,n,c,null,o,r,g,s,!1),u>0){if(16&u)D(c,n,C,h,o,r,i);else if(2&u&&C.class!==h.class&&l(c,"class",null,h.class,i),4&u&&l(c,"style",C.style,h.style,i),8&u){const t=n.dynamicProps;for(let n=0;n{m&&mr(m,o,n,e),p&&yn(n,e,o,"updated")}),r)},E=(e,t,n,o,r,i,s)=>{for(let a=0;a{if(o!==r){if(o!==t)for(const t in o)S(t)||t in r||l(e,t,o[t],null,a,n.children,i,s,G);for(const t in r){if(S(t))continue;const c=r[t],u=o[t];c!==u&&"value"!==t&&l(e,t,u,c,a,n.children,i,s,G)}"value"in r&&l(e,"value",o.value,r.value)}},P=(e,t,n,o,r,i,a,l,c)=>{const d=t.el=e?e.el:u(""),p=t.anchor=e?e.anchor:u("");let{patchFlag:C,dynamicChildren:f,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),null==e?(s(d,n,o),s(p,n,o),T(t.children,n,p,r,i,a,l,c)):C>0&&64&C&&f&&e.dynamicChildren?(E(e.dynamicChildren,f,n,r,i,a,l),(null!=t.key||r&&t===r.subTree)&&Uo(e,t,!0)):B(e,t,n,p,r,i,a,l,c)},H=(e,t,n,o,r,i,s,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,s,l):F(t,n,o,r,i,s,l):j(e,t,l)},F=(e,n,o,r,i,s,a)=>{const l=e.component=function(e,n,o){const r=e.type,i=(n?n.appContext:e.appContext)||gr,s={uid:vr++,vnode:e,type:r,parent:n,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new J(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:To(r,i),emitsOptions:tn(r,i),emit:null,emitted:null,propsDefaults:t,inheritAttrs:r.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=n?n.root:s,s.emit=en.bind(null,s),e.ce&&e.ce(s),s}(e,r,i);if(En(e)&&(l.ctx.renderer=te),function(e,t=!1){Or=t;const{props:n,children:o}=e.vnode,r=Sr(e);(function(e,t,n,o=!1){const r={},i={};R(i,ir,1),e.propsDefaults=Object.create(null),So(e,t,r,i);for(const t in e.propsOptions[0])t in r||(r[t]=void 0);n?e.props=o?r:st(r,!1,Ee,Je,tt):e.type.props?e.props=r:e.props=i,e.attrs=i})(e,n,r,t),Fo(e,o);const i=r?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=pt(new Proxy(e.ctx,ao));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?function(e){const t=t=>{e.exposed=t||{}};return{get attrs(){return function(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get:(t,n)=>(he(e,0,"$attrs"),t[n])}))}(e)},slots:e.slots,emit:e.emit,expose:t}}(e):null;_r(e),Ce();const r=_t(o,e,0,[e.props,n]);if(fe(),xr(),b(r)){if(r.then(xr,xr),t)return r.then((n=>{Zr(e,n,t)})).catch((t=>{St(t,e,0)}));e.asyncDep=r}else Zr(e,r,t)}else Ar(e,t)}(e,t):void 0;Or=!1}(l),l.asyncDep){if(i&&i.registerDep(l,I),!e.el){const e=l.subTree=cr(Ko);L(null,e,n,o)}}else I(l,e,n,o,i,s,a)},j=(e,t,n)=>{const o=t.component=e.component;if(function(e,t,n){const{props:o,children:r,component:i}=e,{props:s,children:a,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||o!==s&&(o?!s||dn(o,s,c):!!s);if(1024&l)return!0;if(16&l)return o?dn(o,s,c):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;tZt&&Ot.splice(t,1)}(o.update),o.update()}else t.el=e.el,o.vnode=t},I=(e,t,n,o,r,i,s)=>{const a=e.effect=new ce((()=>{if(e.isMounted){let t,{next:n,bu:o,u:a,parent:l,vnode:c}=e,u=n;Bo(e,!1),n?(n.el=c.el,N(e,n,s)):n=c,o&&$(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&mr(t,l,n,c),Bo(e,!0);const d=ln(e),p=e.subTree;e.subTree=d,y(p,d,h(p.el),Q(p),e,r,i),n.el=d.el,null===u&&function({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}(e,d.el),a&&Io(a,r),(t=n.props&&n.props.onVnodeUpdated)&&Io((()=>mr(t,l,n,c)),r),__VUE_PROD_DEVTOOLS__&&Yt(e)}else{let s;const{el:a,props:l}=t,{bm:c,m:u,parent:d}=e,p=An(t);if(Bo(e,!1),c&&$(c),!p&&(s=l&&l.onVnodeBeforeMount)&&mr(s,d,t),Bo(e,!0),a&&oe){const n=()=>{e.subTree=ln(e),oe(a,e.subTree,e,r,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const s=e.subTree=ln(e);y(null,s,n,o,e,r,i),t.el=s.el}if(u&&Io(u,r),!p&&(s=l&&l.onVnodeMounted)){const e=t;Io((()=>mr(s,d,e)),r)}(256&t.shapeFlag||d&&An(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&Io(e.a,r),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&zt(e),t=n=o=null}}),(()=>Ht(l)),e.scope),l=e.update=()=>a.run();l.id=e.uid,Bo(e,!0),l()},N=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:s}}=e,a=dt(r),[l]=e.propsOptions;let c=!1;if(!(o||s>0)||16&s){let o;So(e,t,r,i)&&(c=!0);for(const i in a)t&&(p(t,i)||(o=A(i))!==i&&p(t,o))||(l?!n||void 0===n[i]&&void 0===n[o]||(r[i]=ko(l,a,i,void 0,e,!0)):delete r[i]);if(i!==a)for(const e in i)t&&p(t,e)||(delete i[e],c=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let o=0;o{const c=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:p,shapeFlag:C}=t;if(p>0){if(128&p)return void W(c,d,n,o,r,i,s,a,l);if(256&p)return void U(c,d,n,o,r,i,s,a,l)}8&C?(16&u&&G(c,r,i),d!==c&&f(n,d)):16&u?16&C?W(c,d,n,o,r,i,s,a,l):G(c,r,i,!0):(8&u&&f(n,""),16&C&&T(d,n,o,r,i,s,a,l))},U=(e,t,n,r,i,s,a,l,c)=>{t=t||o;const u=(e=e||o).length,d=t.length,p=Math.min(u,d);let C;for(C=0;Cd?G(e,i,s,!0,!1,p):T(t,n,r,i,s,a,l,c,p)},W=(e,t,n,r,i,s,a,l,c)=>{let u=0;const d=t.length;let p=e.length-1,C=d-1;for(;u<=p&&u<=C;){const o=e[u],r=t[u]=c?fr(t[u]):Cr(t[u]);if(!rr(o,r))break;y(o,r,n,null,i,s,a,l,c),u++}for(;u<=p&&u<=C;){const o=e[p],r=t[C]=c?fr(t[C]):Cr(t[C]);if(!rr(o,r))break;y(o,r,n,null,i,s,a,l,c),p--,C--}if(u>p){if(u<=C){const e=C+1,o=eC)for(;u<=p;)K(e[u],i,s,!0),u++;else{const f=u,h=u,m=new Map;for(u=h;u<=C;u++){const e=t[u]=c?fr(t[u]):Cr(t[u]);null!=e.key&&m.set(e.key,u)}let g,v=0;const b=C-h+1;let w=!1,L=0;const M=new Array(b);for(u=0;u=b){K(o,i,s,!0);continue}let r;if(null!=o.key)r=m.get(o.key);else for(g=h;g<=C;g++)if(0===M[g-h]&&rr(o,t[g])){r=g;break}void 0===r?K(o,i,s,!0):(M[r-h]=u+1,r>=L?L=r:w=!0,y(o,t[r],n,null,i,s,a,l,c),v++)}const _=w?function(e){const t=e.slice(),n=[0];let o,r,i,s,a;const l=e.length;for(o=0;o>1,e[n[a]]0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=t[s];return n}(M):o;for(g=_.length-1,u=b-1;u>=0;u--){const e=h+u,o=t[e],p=e+1{const{el:i,type:a,transition:l,children:c,shapeFlag:u}=e;if(6&u)X(e.component.subTree,t,n,o);else if(128&u)e.suspense.move(t,n,o);else if(64&u)a.move(e,t,n,te);else if(a!==Wo)if(a!==qo)if(2!==o&&1&u&&l)if(0===o)l.beforeEnter(i),s(i,t,n),Io((()=>l.enter(i)),r);else{const{leave:e,delayLeave:o,afterLeave:r}=l,a=()=>s(i,t,n),c=()=>{e(i,(()=>{a(),r&&r()}))};o?o(i,a,c):c()}else s(i,t,n);else(({el:e,anchor:t},n,o)=>{let r;for(;e&&e!==t;)r=m(e),s(e,n,o),e=r;s(t,n,o)})(e,t,n);else{s(i,t,n);for(let e=0;e{const{type:i,props:s,ref:a,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=a&&Vo(a,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const C=1&u&&p,f=!An(e);let h;if(f&&(h=s&&s.onVnodeBeforeUnmount)&&mr(h,t,e),6&u)Y(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);C&&yn(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,te,o):c&&(i!==Wo||d>0&&64&d)?G(c,t,n,!1,!0):(i===Wo&&384&d||!r&&16&u)&&G(l,t,n),o&&q(e)}(f&&(h=s&&s.onVnodeUnmounted)||C)&&Io((()=>{h&&mr(h,t,e),C&&yn(e,null,t,"unmounted")}),n)},q=e=>{const{type:t,el:n,anchor:o,transition:r}=e;if(t===Wo)return void z(n,o);if(t===qo)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=m(e),a(e),e=n;a(t)})(e);const i=()=>{a(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:o}=r,s=()=>t(n,i);o?o(e.el,i,s):s()}else i()},z=(e,t)=>{let n;for(;e!==t;)n=m(e),a(e),e=n;a(t)},Y=(e,t,n)=>{const{bum:o,scope:r,update:i,subTree:s,um:a}=e;o&&$(o),r.stop(),i&&(i.active=!1,K(s,e,t,n)),a&&Io(a,t),Io((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&Jt(e)},G=(e,t,n,o=!1,r=!1,i=0)=>{for(let s=i;s6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():m(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&K(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),jt(),Vt(),t._vnode=e},te={p:y,um:K,m:X,r:q,mt:F,mc:T,pc:B,pbc:E,n:Q,o:e};let ne,oe;return n&&([ne,oe]=n(te)),{render:ee,hydrate:ne,createApp:Mo(ee,ne)}}function Bo({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Uo(e,t,n=!1){const o=e.children,r=t.children;if(C(o)&&C(r))for(let e=0;e0?Yo||o:null,zo.pop(),Yo=zo[zo.length-1]||null,Jo>0&&Yo&&Yo.push(e),e}function tr(e,t,n,o,r,i){return er(lr(e,t,n,o,r,i,!0))}function nr(e,t,n,o,r){return er(cr(e,t,n,o,r,!0))}function or(e){return!!e&&!0===e.__v_isVNode}function rr(e,t){return e.type===t.type&&e.key===t.key}const ir="__vInternal",sr=({key:e})=>null!=e?e:null,ar=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?g(e)||gt(e)||m(e)?{i:on,r:e,k:t,f:!!n}:e:null);function lr(e,t=null,n=null,o=0,r=null,i=(e===Wo?0:1),s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&sr(t),ref:t&&ar(t),scopeId:rn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:on};return a?(hr(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=g(n)?8:16),Jo>0&&!s&&Yo&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&Yo.push(l),l}const cr=function(e,t=null,n=null,o=0,r=null,i=!1){if(e&&e!==Gn||(e=Ko),or(e)){const o=ur(e,t,!0);return n&&hr(o,n),Jo>0&&!i&&Yo&&(6&o.shapeFlag?Yo[Yo.indexOf(e)]=o:Yo.push(o)),o.patchFlag|=-2,o}if(s=e,m(s)&&"__vccOpts"in s&&(e=e.__vccOpts),t){t=function(e){return e?ut(e)||ir in e?c({},e):e:null}(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=X(e)),y(n)&&(ut(n)&&!C(n)&&(n=c({},n)),t.style=I(n))}var s;return lr(e,t,n,o,r,g(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:y(e)?4:m(e)?2:0,i,!0)};function ur(e,t,n=!1){const{props:o,ref:r,patchFlag:i,children:s}=e,l=t?function(...e){const t={};for(let n=0;nyr||on;let wr,Lr,Mr="__VUE_INSTANCE_SETTERS__";(Lr=V()[Mr])||(Lr=V()[Mr]=[]),Lr.push((e=>yr=e)),wr=e=>{Lr.length>1?Lr.forEach((t=>t(e))):Lr[0](e)};const _r=e=>{wr(e),e.scope.on()},xr=()=>{yr&&yr.scope.off(),wr(null)};function Sr(e){return 4&e.vnode.shapeFlag}let kr,Tr,Or=!1;function Zr(e,t,n){m(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:y(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=Lt(t)),Ar(e,n)}function Ar(e,t,n){const o=e.type;if(!e.render){if(!t&&kr&&!o.render){const t=o.template||Co(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:i,compilerOptions:s}=o,a=c(c({isCustomElement:n,delimiters:i},r),s);o.render=kr(t,a)}}e.render=o.render||r,Tr&&Tr(e)}__VUE_OPTIONS_API__&&(_r(e),Ce(),function(e){const t=Co(e),n=e.proxy,o=e.ctx;co=!1,t.beforeCreate&&uo(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:a,watch:l,provide:c,inject:u,created:d,beforeMount:p,mounted:f,beforeUpdate:h,updated:g,activated:v,deactivated:b,beforeDestroy:w,beforeUnmount:L,destroyed:M,unmounted:_,render:x,renderTracked:S,renderTriggered:k,errorCaptured:T,serverPrefetch:O,expose:Z,inheritAttrs:A,components:E,directives:D,filters:P}=t;if(u&&function(e,t,n=r){C(e)&&(e=go(e));for(const n in e){const o=e[n];let r;r=y(o)?"default"in o?xo(o.from||n,o.default,!0):xo(o.from||n):xo(o),gt(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,o,null),a)for(const e in a){const t=a[e];m(t)&&(o[e]=t.bind(n))}if(i){const t=i.call(n,n);y(t)&&(e.data=rt(t))}if(co=!0,s)for(const e in s){const t=s[e],i=m(t)?t.bind(n,n):m(t.get)?t.get.bind(n,n):r,a=!m(t)&&m(t.set)?t.set.bind(n):r,l=Dr({get:i,set:a});Object.defineProperty(o,e,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e})}if(l)for(const e in l)po(l[e],o,n,e);if(c){const e=m(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{!function(e,t){if(yr){let n=yr.provides;const o=yr.parent&&yr.parent.provides;o===n&&(n=yr.provides=Object.create(o)),n[e]=t}}(t,e[t])}))}function $(e,t){C(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&uo(d,e,"c"),$(jn,p),$(Vn,f),$(In,h),$(Nn,g),$(Dn,v),$(Pn,b),$(qn,T),$(Kn,S),$(Xn,k),$(Bn,L),$(Un,_),$(Wn,O),C(Z))if(Z.length){const t=e.exposed||(e.exposed={});Z.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});x&&e.render===r&&(e.render=x),null!=A&&(e.inheritAttrs=A),E&&(e.components=E),D&&(e.directives=D)}(e),fe(),xr())}function Er(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Lt(pt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in io?io[n](e):void 0,has:(e,t)=>t in e||t in io}))}const Dr=(e,t)=>function(e,t,n=!1){let o,i;const s=m(e);return s?(o=e,i=r):(o=e.get,i=e.set),new Mt(o,i,s||!i,n)}(e,0,Or);function Pr(e,t,n){const o=arguments.length;return 2===o?y(t)&&!C(t)?or(t)?cr(e,null,[t]):cr(e,t):cr(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&or(n)&&(n=[n]),cr(e,t,n))}const $r=Symbol.for("v-scx"),Rr=()=>xo($r),Hr="3.3.4",Fr="undefined"!=typeof document?document:null,jr=Fr&&Fr.createElement("template"),Vr={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?Fr.createElementNS("http://www.w3.org/2000/svg",e):Fr.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>Fr.createTextNode(e),createComment:e=>Fr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const s=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==i&&(r=r.nextSibling););else{jr.innerHTML=o?`${e}`:e;const r=jr.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ir=/\s*!important$/;function Nr(e,t,n){if(C(n))n.forEach((n=>Nr(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=Ur[t];if(n)return n;let o=O(t);if("filter"!==o&&o in e)return Ur[t]=o;o=E(o);for(let n=0;nqr||(zr.then((()=>qr=0)),qr=Date.now()),Gr=/^on[a-z]/;"undefined"!=typeof HTMLElement&&HTMLElement;const Jr="transition",Qr="animation",ei=(e,{slots:t})=>Pr(Mn,function(e){const t={};for(const n in e)n in ti||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=s,appearToClass:d=a,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:C=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=e,h=function(e){if(null==e)return null;if(y(e))return[ri(e.enter),ri(e.leave)];{const t=ri(e);return[t,t]}}(r),m=h&&h[0],g=h&&h[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:w,onLeave:L,onLeaveCancelled:M,onBeforeAppear:_=v,onAppear:x=b,onAppearCancelled:S=w}=t,k=(e,t,n)=>{si(e,t?d:a),si(e,t?u:s),n&&n()},T=(e,t)=>{e._isLeaving=!1,si(e,p),si(e,f),si(e,C),t&&t()},O=e=>(t,n)=>{const r=e?x:b,s=()=>k(t,e,n);ni(r,[t,s]),ai((()=>{si(t,e?l:i),ii(t,e?d:a),oi(r)||ci(t,o,m,s)}))};return c(t,{onBeforeEnter(e){ni(v,[e]),ii(e,i),ii(e,s)},onBeforeAppear(e){ni(_,[e]),ii(e,l),ii(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>T(e,t);ii(e,p),document.body.offsetHeight,ii(e,C),ai((()=>{e._isLeaving&&(si(e,p),ii(e,f),oi(L)||ci(e,o,g,n))})),ni(L,[e,n])},onEnterCancelled(e){k(e,!1),ni(w,[e])},onAppearCancelled(e){k(e,!0),ni(S,[e])},onLeaveCancelled(e){T(e),ni(M,[e])}})}(e),t);ei.displayName="Transition";const ti={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ni=(ei.props=c({},wn,ti),(e,t=[])=>{C(e)?e.forEach((e=>e(...t))):e&&e(...t)}),oi=e=>!!e&&(C(e)?e.some((e=>e.length>1)):e.length>1);function ri(e){return F(e)}function ii(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function si(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function ai(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let li=0;function ci(e,t,n,o){const r=e._endId=++li,i=()=>{r===e._endId&&o()};if(n)return setTimeout(i,n);const{type:s,timeout:a,propCount:l}=function(e,t){const n=window.getComputedStyle(e),o=e=>(n[e]||"").split(", "),r=o(`${Jr}Delay`),i=o(`${Jr}Duration`),s=ui(r,i),a=o(`${Qr}Delay`),l=o(`${Qr}Duration`),c=ui(a,l);let u=null,d=0,p=0;return t===Jr?s>0&&(u=Jr,d=s,p=i.length):t===Qr?c>0&&(u=Qr,d=c,p=l.length):(d=Math.max(s,c),u=d>0?s>c?Jr:Qr:null,p=u?u===Jr?i.length:l.length:0),{type:u,timeout:d,propCount:p,hasTransform:u===Jr&&/\b(transform|all)(,|$)/.test(o(`${Jr}Property`).toString())}}(e,t);if(!s)return o();const c=s+"end";let u=0;const d=()=>{e.removeEventListener(c,p),i()},p=t=>{t.target===e&&++u>=l&&d()};setTimeout((()=>{udi(t)+di(e[n]))))}function di(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}const pi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return C(t)?e=>$(t,e):t};function Ci(e){e.target.composing=!0}function fi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const hi={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=pi(r);const i=o||r.props&&"number"===r.props.type;Xr(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),i&&(o=H(o)),e._assign(o)})),n&&Xr(e,"change",(()=>{e.value=e.value.trim()})),t||(Xr(e,"compositionstart",Ci),Xr(e,"compositionend",fi),Xr(e,"change",fi))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},i){if(e._assign=pi(i),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&H(e.value)===t)return}const s=null==t?"":t;e.value!==s&&(e.value=s)}},mi=["ctrl","shift","alt","meta"],gi={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>mi.some((n=>e[`${n}Key`]&&!t.includes(n)))},vi=(e,t)=>(n,...o)=>{for(let e=0;e{"class"===t?function(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=g(n);if(n&&!r){if(t&&!g(t))for(const e in t)null==n[e]&&Nr(o,e,"");for(const e in n)Nr(o,e,n[e])}else{const i=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=i)}}(e,n,o):a(t)?l(t)||function(e,t,n,o,r=null){const i=e._vei||(e._vei={}),s=i[t];if(o&&s)s.value=o;else{const[n,a]=function(e){let t;if(Kr.test(e)){let n;for(t={};n=e.match(Kr);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):A(e.slice(2)),t]}(t);if(o){const s=i[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();xt(function(e,t){if(C(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=Yr(),n}(o,r);Xr(e,n,s,a)}else s&&(function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,s,a),i[t]=void 0)}}(e,t,0,o,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&Gr.test(t)&&m(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!Gr.test(t)||!g(n))&&t in e))))}(e,t,o,r))?function(e,t,n,o,r,i,s){if("innerHTML"===t||"textContent"===t)return o&&s(o,r,i),void(e[t]=null==n?"":n);const a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){e._value=n;const o=null==n?"":n;return("OPTION"===a?e.getAttribute("value"):e.value)!==o&&(e.value=o),void(null==n&&e.removeAttribute(t))}let l=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=q(n):null==n&&"string"===o?(n="",l=!0):"number"===o&&(n=0,l=!0)}try{e[t]=n}catch(e){}l&&e.removeAttribute(t)}(e,t,o,i,s,c,u):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(Wr,t.slice(6,t.length)):e.setAttributeNS(Wr,t,n);else{const o=K(t);null==n||o&&!q(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))}},Vr);let bi;function wi(){return bi||(bi=No(yi))}const Li=(...e)=>{wi().render(...e)};const Mi={key:1},_i={id:"content"},xi={key:2};var Si=n(9091);const ki={key:0},Ti={key:0},Oi={href:"https://www.digitalocean.com/docs/networking/dns/"},Zi={key:1},Ai={key:0},Ei={key:1},Di={href:"https://www.digitalocean.com/docs/networking/dns/"},Pi={key:1};var $i=n(5986),Ri=n(6557);const Hi={name:"DODNSSkeleton",props:{loading:Boolean},methods:{getSkeletonStyle:Ri.YI}};var Fi=n(6021);const ji=(0,Fi.Z)(Hi,[["render",function(e,t,n,o,r,i){return Go(),tr("span",null,[lr("span",{class:X("data-skeleton "+(e.$props.loading?"skeleton-running":"")),style:I({...i.getSkeletonStyle(400,600),display:"inline-block",marginRight:"0.2em"})},null,6),lr("span",{class:X("data-skeleton "+(e.$props.loading?"skeleton-running":"")),style:I({...i.getSkeletonStyle(200,500),display:"inline-block",marginRight:"0.2em"})},null,6)])}]]);var Vi=n(3943);const Ii={name:"DODNS",components:{DODNSSkeleton:ji},props:{data:String,loading:Boolean},data:()=>({dodns:!1,subdomain:!1,loaded:!1,i18n:Vi.default}),watch:{data(){this.recordInit()}},mounted(){this.recordInit()},methods:{async recordInit(){if(""===this.$props.data)return;this.$data.loaded=!1,this.$data.subdomain=!1;const e=await(await(0,$i.default)(this.$props.data,"NS")).json();if(this.$data.loaded=!0,!e.Answer)return this.$data.dodns=!1,void(this.$data.subdomain=!0);this.$data.dodns=e.Answer[0].data.match(/.*digitalocean\.com\.*/)}}},Ni=(0,Fi.Z)(Ii,[["render",function(e,t,n,o,r,i){const s=Yn("DODNSSkeleton");return Go(),tr("span",null,[r.loaded?(Go(),tr("span",ki,[r.dodns?(Go(),tr("span",Ti,[dr(z(r.i18n.templates.dodns.using)+" ",1),lr("a",Oi,z(r.i18n.templates.dodns.learnMore),1)])):(Go(),tr("span",Zi,[r.subdomain?(Go(),tr("span",Ai,z(r.i18n.templates.dodns.subdomain),1)):(Go(),tr("span",Ei,[dr(z(r.i18n.templates.dodns.notUsing)+" ",1),lr("a",Di,z(r.i18n.templates.dodns.learnMore),1)]))]))])):(Go(),tr("span",Pi,[cr(s,{loading:e.$props.loading},null,8,["loading"])]))])}]]),Bi={key:0},Ui=["id"],Wi=["href"],Xi=[lr("i",{class:"fas fa-link"},null,-1)],Ki=["innerHTML"],qi={key:0},zi=["innerHTML"],Yi={key:1},Gi={key:0},Ji={class:"table-container"},Qi={class:"table"},es=["title"],ts={key:0},ns={key:1},os={key:0},rs=lr("hr",null,null,-1),is={key:0},ss={key:0},as=lr("hr",null,null,-1),ls=["innerHTML"],cs=["href"],us={style:{"margin-top":"20px"}},ds={key:2},ps={key:3,style:{"margin-top":"20px"}},Cs={key:1},fs=lr("hr",null,null,-1);var hs="top",ms="bottom",gs="right",vs="left",ys="auto",bs=[hs,ms,gs,vs],ws="start",Ls="end",Ms="clippingParents",_s="viewport",xs="popper",Ss="reference",ks=bs.reduce((function(e,t){return e.concat([t+"-"+ws,t+"-"+Ls])}),[]),Ts=[].concat(bs,[ys]).reduce((function(e,t){return e.concat([t,t+"-"+ws,t+"-"+Ls])}),[]),Os=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Zs(e){return e?(e.nodeName||"").toLowerCase():null}function As(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Es(e){return e instanceof As(e).Element||e instanceof Element}function Ds(e){return e instanceof As(e).HTMLElement||e instanceof HTMLElement}function Ps(e){return"undefined"!=typeof ShadowRoot&&(e instanceof As(e).ShadowRoot||e instanceof ShadowRoot)}var $s={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];Ds(r)&&Zs(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});Ds(o)&&Zs(o)&&(Object.assign(o.style,i),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};function Rs(e){return e.split("-")[0]}var Hs=Math.max,Fs=Math.min,js=Math.round;function Vs(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,r=1;if(Ds(e)&&t){var i=e.offsetHeight,s=e.offsetWidth;s>0&&(o=js(n.width)/s||1),i>0&&(r=js(n.height)/i||1)}return{width:n.width/o,height:n.height/r,top:n.top/r,right:n.right/o,bottom:n.bottom/r,left:n.left/o,x:n.left/o,y:n.top/r}}function Is(e){var t=Vs(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function Ns(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ps(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function Bs(e){return As(e).getComputedStyle(e)}function Us(e){return["table","td","th"].indexOf(Zs(e))>=0}function Ws(e){return((Es(e)?e.ownerDocument:e.document)||window.document).documentElement}function Xs(e){return"html"===Zs(e)?e:e.assignedSlot||e.parentNode||(Ps(e)?e.host:null)||Ws(e)}function Ks(e){return Ds(e)&&"fixed"!==Bs(e).position?e.offsetParent:null}function qs(e){for(var t=As(e),n=Ks(e);n&&Us(n)&&"static"===Bs(n).position;)n=Ks(n);return n&&("html"===Zs(n)||"body"===Zs(n)&&"static"===Bs(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Ds(e)&&"fixed"===Bs(e).position)return null;for(var n=Xs(e);Ds(n)&&["html","body"].indexOf(Zs(n))<0;){var o=Bs(n);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return n;n=n.parentNode}return null}(e)||t}function zs(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ys(e,t,n){return Hs(e,Fs(t,n))}function Gs(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Js(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}var Qs={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,o=e.name,r=e.options,i=n.elements.arrow,s=n.modifiersData.popperOffsets,a=Rs(n.placement),l=zs(a),c=[vs,gs].indexOf(a)>=0?"height":"width";if(i&&s){var u=function(e,t){return Gs("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Js(e,bs))}(r.padding,n),d=Is(i),p="y"===l?hs:vs,C="y"===l?ms:gs,f=n.rects.reference[c]+n.rects.reference[l]-s[l]-n.rects.popper[c],h=s[l]-n.rects.reference[l],m=qs(i),g=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,v=f/2-h/2,y=u[p],b=g-d[c]-u[C],w=g/2-d[c]/2+v,L=Ys(y,w,b),M=l;n.modifiersData[o]=((t={})[M]=L,t.centerOffset=L-w,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?"[data-popper-arrow]":n;null!=o&&("string"!=typeof o||(o=t.elements.popper.querySelector(o)))&&Ns(t.elements.popper,o)&&(t.elements.arrow=o)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ea(e){return e.split("-")[1]}var ta={top:"auto",right:"auto",bottom:"auto",left:"auto"};function na(e){var t,n=e.popper,o=e.popperRect,r=e.placement,i=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,p=!0===u?function(e){var t=e.x,n=e.y,o=window.devicePixelRatio||1;return{x:js(t*o)/o||0,y:js(n*o)/o||0}}(s):"function"==typeof u?u(s):s,C=p.x,f=void 0===C?0:C,h=p.y,m=void 0===h?0:h,g=s.hasOwnProperty("x"),v=s.hasOwnProperty("y"),y=vs,b=hs,w=window;if(c){var L=qs(n),M="clientHeight",_="clientWidth";L===As(n)&&"static"!==Bs(L=Ws(n)).position&&"absolute"===a&&(M="scrollHeight",_="scrollWidth"),(r===hs||(r===vs||r===gs)&&i===Ls)&&(b=ms,m-=(d&&w.visualViewport?w.visualViewport.height:L[M])-o.height,m*=l?1:-1),r!==vs&&(r!==hs&&r!==ms||i!==Ls)||(y=gs,f-=(d&&w.visualViewport?w.visualViewport.width:L[_])-o.width,f*=l?1:-1)}var x,S=Object.assign({position:a},c&&ta);return l?Object.assign({},S,((x={})[b]=v?"0":"",x[y]=g?"0":"",x.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",x)):Object.assign({},S,((t={})[b]=v?m+"px":"",t[y]=g?f+"px":"",t.transform="",t))}var oa={passive:!0},ra={left:"right",right:"left",bottom:"top",top:"bottom"};function ia(e){return e.replace(/left|right|bottom|top/g,(function(e){return ra[e]}))}var sa={start:"end",end:"start"};function aa(e){return e.replace(/start|end/g,(function(e){return sa[e]}))}function la(e){var t=As(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function ca(e){return Vs(Ws(e)).left+la(e).scrollLeft}function ua(e){var t=Bs(e),n=t.overflow,o=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+o)}function da(e){return["html","body","#document"].indexOf(Zs(e))>=0?e.ownerDocument.body:Ds(e)&&ua(e)?e:da(Xs(e))}function pa(e,t){var n;void 0===t&&(t=[]);var o=da(e),r=o===(null==(n=e.ownerDocument)?void 0:n.body),i=As(o),s=r?[i].concat(i.visualViewport||[],ua(o)?o:[]):o,a=t.concat(s);return r?a:a.concat(pa(Xs(s)))}function Ca(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function fa(e,t){return t===_s?Ca(function(e){var t=As(e),n=Ws(e),o=t.visualViewport,r=n.clientWidth,i=n.clientHeight,s=0,a=0;return o&&(r=o.width,i=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,a=o.offsetTop)),{width:r,height:i,x:s+ca(e),y:a}}(e)):Es(t)?function(e){var t=Vs(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Ca(function(e){var t,n=Ws(e),o=la(e),r=null==(t=e.ownerDocument)?void 0:t.body,i=Hs(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Hs(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-o.scrollLeft+ca(e),l=-o.scrollTop;return"rtl"===Bs(r||n).direction&&(a+=Hs(n.clientWidth,r?r.clientWidth:0)-i),{width:i,height:s,x:a,y:l}}(Ws(e)))}function ha(e){var t,n=e.reference,o=e.element,r=e.placement,i=r?Rs(r):null,s=r?ea(r):null,a=n.x+n.width/2-o.width/2,l=n.y+n.height/2-o.height/2;switch(i){case hs:t={x:a,y:n.y-o.height};break;case ms:t={x:a,y:n.y+n.height};break;case gs:t={x:n.x+n.width,y:l};break;case vs:t={x:n.x-o.width,y:l};break;default:t={x:n.x,y:n.y}}var c=i?zs(i):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case ws:t[c]=t[c]-(n[u]/2-o[u]/2);break;case Ls:t[c]=t[c]+(n[u]/2-o[u]/2)}}return t}function ma(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=void 0===o?e.placement:o,i=n.boundary,s=void 0===i?Ms:i,a=n.rootBoundary,l=void 0===a?_s:a,c=n.elementContext,u=void 0===c?xs:c,d=n.altBoundary,p=void 0!==d&&d,C=n.padding,f=void 0===C?0:C,h=Gs("number"!=typeof f?f:Js(f,bs)),m=u===xs?Ss:xs,g=e.rects.popper,v=e.elements[p?m:u],y=function(e,t,n){var o="clippingParents"===t?function(e){var t=pa(Xs(e)),n=["absolute","fixed"].indexOf(Bs(e).position)>=0,o=n&&Ds(e)?qs(e):e;return Es(o)?t.filter((function(e){return Es(e)&&Ns(e,o)&&"body"!==Zs(e)&&(!n||"static"!==Bs(e).position)})):[]}(e):[].concat(t),r=[].concat(o,[n]),i=r[0],s=r.reduce((function(t,n){var o=fa(e,n);return t.top=Hs(o.top,t.top),t.right=Fs(o.right,t.right),t.bottom=Fs(o.bottom,t.bottom),t.left=Hs(o.left,t.left),t}),fa(e,i));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}(Es(v)?v:v.contextElement||Ws(e.elements.popper),s,l),b=Vs(e.elements.reference),w=ha({reference:b,element:g,strategy:"absolute",placement:r}),L=Ca(Object.assign({},g,w)),M=u===xs?L:b,_={top:y.top-M.top+h.top,bottom:M.bottom-y.bottom+h.bottom,left:y.left-M.left+h.left,right:M.right-y.right+h.right},x=e.modifiersData.offset;if(u===xs&&x){var S=x[r];Object.keys(_).forEach((function(e){var t=[gs,ms].indexOf(e)>=0?1:-1,n=[hs,ms].indexOf(e)>=0?"y":"x";_[e]+=S[n]*t}))}return _}function ga(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=n.boundary,i=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?Ts:l,u=ea(o),d=u?a?ks:ks.filter((function(e){return ea(e)===u})):bs,p=d.filter((function(e){return c.indexOf(e)>=0}));0===p.length&&(p=d);var C=p.reduce((function(t,n){return t[n]=ma(e,{placement:n,boundary:r,rootBoundary:i,padding:s})[Rs(n)],t}),{});return Object.keys(C).sort((function(e,t){return C[e]-C[t]}))}var va={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var r=n.mainAxis,i=void 0===r||r,s=n.altAxis,a=void 0===s||s,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,p=n.altBoundary,C=n.flipVariations,f=void 0===C||C,h=n.allowedAutoPlacements,m=t.options.placement,g=Rs(m),v=l||(g!==m&&f?function(e){if(Rs(e)===ys)return[];var t=ia(e);return[aa(e),t,aa(t)]}(m):[ia(m)]),y=[m].concat(v).reduce((function(e,n){return e.concat(Rs(n)===ys?ga(t,{placement:n,boundary:u,rootBoundary:d,padding:c,flipVariations:f,allowedAutoPlacements:h}):n)}),[]),b=t.rects.reference,w=t.rects.popper,L=new Map,M=!0,_=y[0],x=0;x=0,Z=O?"width":"height",A=ma(t,{placement:S,boundary:u,rootBoundary:d,altBoundary:p,padding:c}),E=O?T?gs:vs:T?ms:hs;b[Z]>w[Z]&&(E=ia(E));var D=ia(E),P=[];if(i&&P.push(A[k]<=0),a&&P.push(A[E]<=0,A[D]<=0),P.every((function(e){return e}))){_=S,M=!1;break}L.set(S,P)}if(M)for(var $=function(e){var t=y.find((function(t){var n=L.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},R=f?3:1;R>0&&"break"!==$(R);R--);t.placement!==_&&(t.modifiersData[o]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ya(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ba(e){return[hs,gs,ms,vs].some((function(t){return e[t]>=0}))}function wa(e,t,n){void 0===n&&(n=!1);var o,r,i=Ds(t),s=Ds(t)&&function(e){var t=e.getBoundingClientRect(),n=js(t.width)/e.offsetWidth||1,o=js(t.height)/e.offsetHeight||1;return 1!==n||1!==o}(t),a=Ws(t),l=Vs(e,s),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(i||!i&&!n)&&(("body"!==Zs(t)||ua(a))&&(c=(o=t)!==As(o)&&Ds(o)?{scrollLeft:(r=o).scrollLeft,scrollTop:r.scrollTop}:la(o)),Ds(t)?((u=Vs(t,!0)).x+=t.clientLeft,u.y+=t.clientTop):a&&(u.x=ca(a))),{x:l.left+c.scrollLeft-u.x,y:l.top+c.scrollTop-u.y,width:l.width,height:l.height}}function La(e){var t=new Map,n=new Set,o=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var o=t.get(e);o&&r(o)}})),o.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),o}var Ma={placement:"bottom",modifiers:[],strategy:"absolute"};function _a(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,s=i[0],a=i[1];return s=s||0,a=(a||0)*r,[vs,gs].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}(n,t.rects,i),e}),{}),a=s[t.placement],l=a.x,c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}},va,{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.mainAxis,i=void 0===r||r,s=n.altAxis,a=void 0!==s&&s,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,p=n.tether,C=void 0===p||p,f=n.tetherOffset,h=void 0===f?0:f,m=ma(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),g=Rs(t.placement),v=ea(t.placement),y=!v,b=zs(g),w="x"===b?"y":"x",L=t.modifiersData.popperOffsets,M=t.rects.reference,_=t.rects.popper,x="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,S="number"==typeof x?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),k=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,T={x:0,y:0};if(L){if(i){var O,Z="y"===b?hs:vs,A="y"===b?ms:gs,E="y"===b?"height":"width",D=L[b],P=D+m[Z],$=D-m[A],R=C?-_[E]/2:0,H=v===ws?M[E]:_[E],F=v===ws?-_[E]:-M[E],j=t.elements.arrow,V=C&&j?Is(j):{width:0,height:0},I=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},N=I[Z],B=I[A],U=Ys(0,M[E],V[E]),W=y?M[E]/2-R-U-N-S.mainAxis:H-U-N-S.mainAxis,X=y?-M[E]/2+R+U+B+S.mainAxis:F+U+B+S.mainAxis,K=t.elements.arrow&&qs(t.elements.arrow),q=K?"y"===b?K.clientTop||0:K.clientLeft||0:0,z=null!=(O=null==k?void 0:k[b])?O:0,Y=D+X-z,G=Ys(C?Fs(P,D+W-z-q):P,D,C?Hs($,Y):$);L[b]=G,T[b]=G-D}if(a){var J,Q="x"===b?hs:vs,ee="x"===b?ms:gs,te=L[w],ne="y"===w?"height":"width",oe=te+m[Q],re=te-m[ee],ie=-1!==[hs,vs].indexOf(g),se=null!=(J=null==k?void 0:k[w])?J:0,ae=ie?oe:te-M[ne]-_[ne]-se+S.altAxis,le=ie?te+M[ne]+_[ne]-se-S.altAxis:re,ce=C&&ie?function(e,t,n){var o=Ys(e,t,n);return o>n?n:o}(ae,te,le):Ys(C?ae:oe,te,C?le:re);L[w]=ce,T[w]=ce-te}t.modifiersData[o]=T}},requiresIfExists:["offset"]},Qs,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,o=t.rects.reference,r=t.rects.popper,i=t.modifiersData.preventOverflow,s=ma(t,{elementContext:"reference"}),a=ma(t,{altBoundary:!0}),l=ya(s,o),c=ya(a,r,i),u=ba(l),d=ba(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}}]}),ka="tippy-content",Ta="tippy-backdrop",Oa="tippy-arrow",Za="tippy-svg-arrow",Aa={passive:!0,capture:!0},Ea=function(){return document.body};function Da(e,t,n){if(Array.isArray(e)){var o=e[t];return null==o?Array.isArray(n)?n[t]:n:o}return e}function Pa(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function $a(e,t){return"function"==typeof e?e.apply(void 0,t):e}function Ra(e,t){return 0===t?e:function(o){clearTimeout(n),n=setTimeout((function(){e(o)}),t)};var n}function Ha(e){return[].concat(e)}function Fa(e,t){-1===e.indexOf(t)&&e.push(t)}function ja(e){return e.split("-")[0]}function Va(e){return[].slice.call(e)}function Ia(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function Na(){return document.createElement("div")}function Ba(e){return["Element","Fragment"].some((function(t){return Pa(e,t)}))}function Ua(e){return Pa(e,"MouseEvent")}function Wa(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function Xa(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function Ka(e){var t,n=Ha(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function qa(e,t,n){var o=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[o](t,n)}))}function za(e,t){for(var n=t;n;){var o;if(e.contains(n))return!0;n=null==n.getRootNode||null==(o=n.getRootNode())?void 0:o.host}return!1}var Ya={isTouch:!1},Ga=0;function Ja(){Ya.isTouch||(Ya.isTouch=!0,window.performance&&document.addEventListener("mousemove",Qa))}function Qa(){var e=performance.now();e-Ga<20&&(Ya.isTouch=!1,document.removeEventListener("mousemove",Qa)),Ga=e}function el(){var e,t=document.activeElement;if((e=t)&&e._tippy&&e._tippy.reference===e){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var tl=!("undefined"==typeof window||"undefined"==typeof document||!window.msCrypto),nl=Object.assign({appendTo:Ea,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),ol=Object.keys(nl);function rl(e){var t=(e.plugins||[]).reduce((function(t,n){var o,r=n.name,i=n.defaultValue;return r&&(t[r]=void 0!==e[r]?e[r]:null!=(o=nl[r])?o:i),t}),{});return Object.assign({},e,t)}function il(e,t){var n=Object.assign({},t,{content:$a(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(rl(Object.assign({},nl,{plugins:t}))):ol).reduce((function(t,n){var o=(e.getAttribute("data-tippy-"+n)||"").trim();if(!o)return t;if("content"===n)t[n]=o;else try{t[n]=JSON.parse(o)}catch(e){t[n]=o}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},nl.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}var sl=function(){return"innerHTML"};function al(e,t){e[sl()]=t}function ll(e){var t=Na();return!0===e?t.className=Oa:(t.className=Za,Ba(e)?t.appendChild(e):al(t,e)),t}function cl(e,t){Ba(t.content)?(al(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?al(e,t.content):e.textContent=t.content)}function ul(e){var t=e.firstElementChild,n=Va(t.children);return{box:t,content:n.find((function(e){return e.classList.contains(ka)})),arrow:n.find((function(e){return e.classList.contains(Oa)||e.classList.contains(Za)})),backdrop:n.find((function(e){return e.classList.contains(Ta)}))}}function dl(e){var t=Na(),n=Na();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var o=Na();function r(n,o){var r=ul(t),i=r.box,s=r.content,a=r.arrow;o.theme?i.setAttribute("data-theme",o.theme):i.removeAttribute("data-theme"),"string"==typeof o.animation?i.setAttribute("data-animation",o.animation):i.removeAttribute("data-animation"),o.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof o.maxWidth?o.maxWidth+"px":o.maxWidth,o.role?i.setAttribute("role",o.role):i.removeAttribute("role"),n.content===o.content&&n.allowHTML===o.allowHTML||cl(s,e.props),o.arrow?a?n.arrow!==o.arrow&&(i.removeChild(a),i.appendChild(ll(o.arrow))):i.appendChild(ll(o.arrow)):a&&i.removeChild(a)}return o.className=ka,o.setAttribute("data-state","hidden"),cl(o,e.props),t.appendChild(n),n.appendChild(o),r(e.props,e.props),{popper:t,onUpdate:r}}dl.$$tippy=!0;var pl=1,Cl=[],fl=[];function hl(e,t){var n,o,r,i,s,a,l,c,u=il(e,Object.assign({},nl,rl(Ia(t)))),d=!1,p=!1,C=!1,f=!1,h=[],m=Ra(K,u.interactiveDebounce),g=pl++,v=(c=u.plugins).filter((function(e,t){return c.indexOf(e)===t})),y={id:g,reference:e,popper:Na(),popperInstance:null,props:u,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:v,clearDelayTimeouts:function(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(r)},setProps:function(t){if(!y.state.isDestroyed){D("onBeforeUpdate",[y,t]),W();var n=y.props,o=il(e,Object.assign({},n,Ia(t),{ignoreAttributes:!0}));y.props=o,U(),n.interactiveDebounce!==o.interactiveDebounce&&(R(),m=Ra(K,o.interactiveDebounce)),n.triggerTarget&&!o.triggerTarget?Ha(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):o.triggerTarget&&e.removeAttribute("aria-expanded"),$(),E(),L&&L(n,o),y.popperInstance&&(G(),Q().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)}))),D("onAfterUpdate",[y,t])}},setContent:function(e){y.setProps({content:e})},show:function(){var e=y.state.isVisible,t=y.state.isDestroyed,n=!y.state.isEnabled,o=Ya.isTouch&&!y.props.touch,r=Da(y.props.duration,0,nl.duration);if(!(e||t||n||o||T().hasAttribute("disabled")||(D("onShow",[y],!1),!1===y.props.onShow(y)))){if(y.state.isVisible=!0,k()&&(w.style.visibility="visible"),E(),V(),y.state.isMounted||(w.style.transition="none"),k()){var i=Z();Wa([i.box,i.content],0)}var s,l,c;a=function(){var e;if(y.state.isVisible&&!f){if(f=!0,w.offsetHeight,w.style.transition=y.props.moveTransition,k()&&y.props.animation){var t=Z(),n=t.box,o=t.content;Wa([n,o],r),Xa([n,o],"visible")}P(),$(),Fa(fl,y),null==(e=y.popperInstance)||e.forceUpdate(),D("onMount",[y]),y.props.animation&&k()&&function(e,t){N(e,(function(){y.state.isShown=!0,D("onShown",[y])}))}(r)}},l=y.props.appendTo,c=T(),(s=y.props.interactive&&l===Ea||"parent"===l?c.parentNode:$a(l,[c])).contains(w)||s.appendChild(w),y.state.isMounted=!0,G()}},hide:function(){var e=!y.state.isVisible,t=y.state.isDestroyed,n=!y.state.isEnabled,o=Da(y.props.duration,1,nl.duration);if(!(e||t||n)&&(D("onHide",[y],!1),!1!==y.props.onHide(y))){if(y.state.isVisible=!1,y.state.isShown=!1,f=!1,d=!1,k()&&(w.style.visibility="hidden"),R(),I(),E(!0),k()){var r=Z(),i=r.box,s=r.content;y.props.animation&&(Wa([i,s],o),Xa([i,s],"hidden"))}P(),$(),y.props.animation?k()&&function(e,t){N(e,(function(){!y.state.isVisible&&w.parentNode&&w.parentNode.contains(w)&&t()}))}(o,y.unmount):y.unmount()}},hideWithInteractivity:function(e){O().addEventListener("mousemove",m),Fa(Cl,m),m(e)},enable:function(){y.state.isEnabled=!0},disable:function(){y.hide(),y.state.isEnabled=!1},unmount:function(){y.state.isVisible&&y.hide(),y.state.isMounted&&(J(),Q().forEach((function(e){e._tippy.unmount()})),w.parentNode&&w.parentNode.removeChild(w),fl=fl.filter((function(e){return e!==y})),y.state.isMounted=!1,D("onHidden",[y]))},destroy:function(){y.state.isDestroyed||(y.clearDelayTimeouts(),y.unmount(),W(),delete e._tippy,y.state.isDestroyed=!0,D("onDestroy",[y]))}};if(!u.render)return y;var b=u.render(y),w=b.popper,L=b.onUpdate;w.setAttribute("data-tippy-root",""),w.id="tippy-"+y.id,y.popper=w,e._tippy=y,w._tippy=y;var M=v.map((function(e){return e.fn(y)})),_=e.hasAttribute("aria-expanded");return U(),$(),E(),D("onCreate",[y]),u.showOnCreate&&ee(),w.addEventListener("mouseenter",(function(){y.props.interactive&&y.state.isVisible&&y.clearDelayTimeouts()})),w.addEventListener("mouseleave",(function(){y.props.interactive&&y.props.trigger.indexOf("mouseenter")>=0&&O().addEventListener("mousemove",m)})),y;function x(){var e=y.props.touch;return Array.isArray(e)?e:[e,0]}function S(){return"hold"===x()[0]}function k(){var e;return!(null==(e=y.props.render)||!e.$$tippy)}function T(){return l||e}function O(){var e=T().parentNode;return e?Ka(e):document}function Z(){return ul(w)}function A(e){return y.state.isMounted&&!y.state.isVisible||Ya.isTouch||i&&"focus"===i.type?0:Da(y.props.delay,e?0:1,nl.delay)}function E(e){void 0===e&&(e=!1),w.style.pointerEvents=y.props.interactive&&!e?"":"none",w.style.zIndex=""+y.props.zIndex}function D(e,t,n){var o;void 0===n&&(n=!0),M.forEach((function(n){n[e]&&n[e].apply(n,t)})),n&&(o=y.props)[e].apply(o,t)}function P(){var t=y.props.aria;if(t.content){var n="aria-"+t.content,o=w.id;Ha(y.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(y.state.isVisible)e.setAttribute(n,t?t+" "+o:o);else{var r=t&&t.replace(o,"").trim();r?e.setAttribute(n,r):e.removeAttribute(n)}}))}}function $(){!_&&y.props.aria.expanded&&Ha(y.props.triggerTarget||e).forEach((function(e){y.props.interactive?e.setAttribute("aria-expanded",y.state.isVisible&&e===T()?"true":"false"):e.removeAttribute("aria-expanded")}))}function R(){O().removeEventListener("mousemove",m),Cl=Cl.filter((function(e){return e!==m}))}function H(t){if(!Ya.isTouch||!C&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!y.props.interactive||!za(w,n)){if(Ha(y.props.triggerTarget||e).some((function(e){return za(e,n)}))){if(Ya.isTouch)return;if(y.state.isVisible&&y.props.trigger.indexOf("click")>=0)return}else D("onClickOutside",[y,t]);!0===y.props.hideOnClick&&(y.clearDelayTimeouts(),y.hide(),p=!0,setTimeout((function(){p=!1})),y.state.isMounted||I())}}}function F(){C=!0}function j(){C=!1}function V(){var e=O();e.addEventListener("mousedown",H,!0),e.addEventListener("touchend",H,Aa),e.addEventListener("touchstart",j,Aa),e.addEventListener("touchmove",F,Aa)}function I(){var e=O();e.removeEventListener("mousedown",H,!0),e.removeEventListener("touchend",H,Aa),e.removeEventListener("touchstart",j,Aa),e.removeEventListener("touchmove",F,Aa)}function N(e,t){var n=Z().box;function o(e){e.target===n&&(qa(n,"remove",o),t())}if(0===e)return t();qa(n,"remove",s),qa(n,"add",o),s=o}function B(t,n,o){void 0===o&&(o=!1),Ha(y.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,o),h.push({node:e,eventType:t,handler:n,options:o})}))}function U(){var e;S()&&(B("touchstart",X,{passive:!0}),B("touchend",q,{passive:!0})),(e=y.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(B(e,X),e){case"mouseenter":B("mouseleave",q);break;case"focus":B(tl?"focusout":"blur",z);break;case"focusin":B("focusout",z)}}))}function W(){h.forEach((function(e){var t=e.node,n=e.eventType,o=e.handler,r=e.options;t.removeEventListener(n,o,r)})),h=[]}function X(e){var t,n=!1;if(y.state.isEnabled&&!Y(e)&&!p){var o="focus"===(null==(t=i)?void 0:t.type);i=e,l=e.currentTarget,$(),!y.state.isVisible&&Ua(e)&&Cl.forEach((function(t){return t(e)})),"click"===e.type&&(y.props.trigger.indexOf("mouseenter")<0||d)&&!1!==y.props.hideOnClick&&y.state.isVisible?n=!0:ee(e),"click"===e.type&&(d=!n),n&&!o&&te(e)}}function K(e){var t=e.target,n=T().contains(t)||w.contains(t);if("mousemove"!==e.type||!n){var o=Q().concat(w).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:u}:null})).filter(Boolean);(function(e,t){var n=t.clientX,o=t.clientY;return e.every((function(e){var t=e.popperRect,r=e.popperState,i=e.props.interactiveBorder,s=ja(r.placement),a=r.modifiersData.offset;if(!a)return!0;var l="bottom"===s?a.top.y:0,c="top"===s?a.bottom.y:0,u="right"===s?a.left.x:0,d="left"===s?a.right.x:0,p=t.top-o+l>i,C=o-t.bottom-c>i,f=t.left-n+u>i,h=n-t.right-d>i;return p||C||f||h}))})(o,e)&&(R(),te(e))}}function q(e){Y(e)||y.props.trigger.indexOf("click")>=0&&d||(y.props.interactive?y.hideWithInteractivity(e):te(e))}function z(e){y.props.trigger.indexOf("focusin")<0&&e.target!==T()||y.props.interactive&&e.relatedTarget&&w.contains(e.relatedTarget)||te(e)}function Y(e){return!!Ya.isTouch&&S()!==e.type.indexOf("touch")>=0}function G(){J();var t=y.props,n=t.popperOptions,o=t.placement,r=t.offset,i=t.getReferenceClientRect,s=t.moveTransition,l=k()?ul(w).arrow:null,c=i?{getBoundingClientRect:i,contextElement:i.contextElement||T()}:e,u=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(k()){var n=Z().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];k()&&l&&u.push({name:"arrow",options:{element:l,padding:3}}),u.push.apply(u,(null==n?void 0:n.modifiers)||[]),y.popperInstance=Sa(c,w,Object.assign({},n,{placement:o,onFirstUpdate:a,modifiers:u}))}function J(){y.popperInstance&&(y.popperInstance.destroy(),y.popperInstance=null)}function Q(){return Va(w.querySelectorAll("[data-tippy-root]"))}function ee(e){y.clearDelayTimeouts(),e&&D("onTrigger",[y,e]),V();var t=A(!0),o=x(),r=o[0],i=o[1];Ya.isTouch&&"hold"===r&&i&&(t=i),t?n=setTimeout((function(){y.show()}),t):y.show()}function te(e){if(y.clearDelayTimeouts(),D("onUntrigger",[y,e]),y.state.isVisible){if(!(y.props.trigger.indexOf("mouseenter")>=0&&y.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&d)){var t=A(!1);t?o=setTimeout((function(){y.state.isVisible&&y.hide()}),t):r=requestAnimationFrame((function(){y.hide()}))}}else I()}}function ml(e,t){void 0===t&&(t={});var n=nl.plugins.concat(t.plugins||[]);document.addEventListener("touchstart",Ja,Aa),window.addEventListener("blur",el);var o,r=Object.assign({},t,{plugins:n}),i=(o=e,Ba(o)?[o]:function(e){return Pa(e,"NodeList")}(o)?Va(o):Array.isArray(o)?o:Va(document.querySelectorAll(o))).reduce((function(e,t){var n=t&&hl(t,r);return n&&e.push(n),e}),[]);return Ba(e)?i[0]:i}ml.defaultProps=nl,ml.setDefaultProps=function(e){Object.keys(e).forEach((function(t){nl[t]=e[t]}))},ml.currentInput=Ya;var gl=Object.assign({},$s,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),vl={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=ul(e.popper),o=n.box,r=n.content,i=e.props.animateFill?function(){var e=Na();return e.className=Ta,Xa([e],"hidden"),e}():null;return{onCreate:function(){i&&(o.insertBefore(i,o.firstElementChild),o.setAttribute("data-animatefill",""),o.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=o.style.transitionDuration,t=Number(e.replace("ms",""));r.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,Xa([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&Xa([i],"hidden")}}}},yl={clientX:0,clientY:0},bl=[];function wl(e){var t=e.clientX,n=e.clientY;yl={clientX:t,clientY:n}}var Ll={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=Ka(e.props.triggerTarget||t),o=!1,r=!1,i=!0,s=e.props;function a(){return"initial"===e.props.followCursor&&e.state.isVisible}function l(){n.addEventListener("mousemove",d)}function c(){n.removeEventListener("mousemove",d)}function u(){o=!0,e.setProps({getReferenceClientRect:null}),o=!1}function d(n){var o=!n.target||t.contains(n.target),r=e.props.followCursor,i=n.clientX,s=n.clientY,a=t.getBoundingClientRect(),l=i-a.left,c=s-a.top;!o&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,o=s;"initial"===r&&(n=e.left+l,o=e.top+c);var a="horizontal"===r?e.top:o,u="vertical"===r?e.right:n,d="horizontal"===r?e.bottom:o,p="vertical"===r?e.left:n;return{width:u-p,height:d-a,top:a,right:u,bottom:d,left:p}}})}function p(){e.props.followCursor&&(bl.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",wl)}(n))}function C(){0===(bl=bl.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",wl)}(n)}return{onCreate:p,onDestroy:C,onBeforeUpdate:function(){s=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;o||void 0!==i&&s.followCursor!==i&&(C(),i?(p(),!e.state.isMounted||r||a()||l()):(c(),u()))},onMount:function(){e.props.followCursor&&!r&&(i&&(d(yl),i=!1),a()||l())},onTrigger:function(e,t){Ua(t)&&(yl={clientX:t.clientX,clientY:t.clientY}),r="focus"===t.type},onHidden:function(){e.props.followCursor&&(u(),c(),i=!0)}}}},Ml={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference,o=-1,r=!1,i=[],s={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(r){var s=r.state;e.props.inlinePositioning&&(-1!==i.indexOf(s.placement)&&(i=[]),t!==s.placement&&-1===i.indexOf(s.placement)&&(i.push(s.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,o){if(n.length<2||null===e)return t;if(2===n.length&&o>=0&&n[0].left>n[1].right)return n[o]||t;switch(e){case"top":case"bottom":var r=n[0],i=n[n.length-1],s="top"===e,a=r.top,l=i.bottom,c=s?r.left:i.left,u=s?r.right:i.right;return{top:a,bottom:l,left:c,right:u,width:u-c,height:l-a};case"left":case"right":var d=Math.min.apply(Math,n.map((function(e){return e.left}))),p=Math.max.apply(Math,n.map((function(e){return e.right}))),C=n.filter((function(t){return"left"===e?t.left===d:t.right===p})),f=C[0].top,h=C[C.length-1].bottom;return{top:f,bottom:h,left:d,right:p,width:p-d,height:h-f};default:return t}}(ja(e),n.getBoundingClientRect(),Va(n.getClientRects()),o)}(s.placement)}})),t=s.placement)}};function a(){var t;r||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,s),r=!0,e.setProps(t),r=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(t,n){if(Ua(n)){var r=Va(e.reference.getClientRects()),i=r.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),s=r.indexOf(i);o=s>-1?s:o}},onHidden:function(){o=-1}}}},_l={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function o(t){return!0===e.props.sticky||e.props.sticky===t}var r=null,i=null;function s(){var a=o("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,l=o("popper")?n.getBoundingClientRect():null;(a&&xl(r,a)||l&&xl(i,l))&&e.popperInstance&&e.popperInstance.update(),r=a,i=l,e.state.isMounted&&requestAnimationFrame(s)}return{onMount:function(){e.props.sticky&&s()}}}};function xl(e,t){return!e||!t||e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left}function Sl(e,t={},n={mount:!0}){const o=br(),r=vt(),i=vt({isEnabled:!1,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1});let s=null;const a=()=>s||(s=document.createDocumentFragment(),s),l=e=>{let t,n=gt(e)?e.value:e;if(or(n))o&&(n.appContext=o.appContext),Li(n,a()),t=()=>a();else if("object"==typeof n){let e=Pr(n);o&&(e.appContext=o.appContext),Li(e,a()),t=()=>a()}else t=n;return t},c=e=>{let t={};return t=gt(e)?e.value||{}:(at(e),{...e}),t.content&&(t.content=l(t.content)),t.triggerTarget&&(t.triggerTarget=gt(t.triggerTarget)?t.triggerTarget.value:t.triggerTarget),t.plugins&&Array.isArray(t.plugins)||(t.plugins=[]),t.plugins=t.plugins.filter((e=>"vueTippyReactiveState"!==e.name)),t.plugins.push({name:"vueTippyReactiveState",fn:()=>({onCreate(){i.value.isEnabled=!0},onMount(){i.value.isMounted=!0},onShow(){i.value.isMounted=!0,i.value.isVisible=!0},onShown(){i.value.isShown=!0},onHide(){i.value.isMounted=!1,i.value.isVisible=!1},onHidden(){i.value.isShown=!1},onUnmounted(){i.value.isMounted=!1},onDestroy(){i.value.isDestroyed=!0}})}),t},u=()=>{r.value&&r.value.setProps(c(t))},d=()=>{r.value&&t.content&&r.value.setContent(l(t.content))},p=()=>{r.value&&(r.value.destroy(),r.value=void 0),s=null},C=()=>{if(!e)return;let n=gt(e)?e.value:e;"function"==typeof n&&(n=n()),n&&(r.value=ml(n,c(t)),n.$tippy=f)},f={tippy:r,refresh:u,refreshContent:d,setContent:e=>{var t;null===(t=r.value)||void 0===t||t.setContent(l(e))},setProps:e=>{var t;null===(t=r.value)||void 0===t||t.setProps(c(e))},destroy:p,hide:()=>{var e;null===(e=r.value)||void 0===e||e.hide()},show:()=>{var e;null===(e=r.value)||void 0===e||e.show()},disable:()=>{var e;null===(e=r.value)||void 0===e||e.disable(),i.value.isEnabled=!1},enable:()=>{var e;null===(e=r.value)||void 0===e||e.enable(),i.value.isEnabled=!0},unmount:()=>{var e;null===(e=r.value)||void 0===e||e.unmount()},mount:C,state:i};return n.mount&&(o?(o.isMounted?C():Vn(C),Un((()=>{p()}))):C()),gt(t)||at(t)?Cn(t,u,{immediate:!1}):gt(t.content)&&Cn(t.content,d,{immediate:!1}),f}ml.setDefaultProps({render:dl}),ml.setDefaultProps({onShow:e=>{if(!e.props.content)return!1}}),Zn({props:{to:{type:[String,Function]},tag:{type:[String,Object],default:"span"},contentTag:{type:[String,Object],default:"span"},contentClass:{type:String,default:null},appendTo:{default:()=>ml.defaultProps.appendTo},aria:{default:()=>ml.defaultProps.aria},delay:{default:()=>ml.defaultProps.delay},duration:{default:()=>ml.defaultProps.duration},getReferenceClientRect:{default:()=>ml.defaultProps.getReferenceClientRect},hideOnClick:{type:[Boolean,String],default:()=>ml.defaultProps.hideOnClick},ignoreAttributes:{type:Boolean,default:()=>ml.defaultProps.ignoreAttributes},interactive:{type:Boolean,default:()=>ml.defaultProps.interactive},interactiveBorder:{default:()=>ml.defaultProps.interactiveBorder},interactiveDebounce:{default:()=>ml.defaultProps.interactiveDebounce},moveTransition:{default:()=>ml.defaultProps.moveTransition},offset:{default:()=>ml.defaultProps.offset},onAfterUpdate:{default:()=>ml.defaultProps.onAfterUpdate},onBeforeUpdate:{default:()=>ml.defaultProps.onBeforeUpdate},onCreate:{default:()=>ml.defaultProps.onCreate},onDestroy:{default:()=>ml.defaultProps.onDestroy},onHidden:{default:()=>ml.defaultProps.onHidden},onHide:{default:()=>ml.defaultProps.onHide},onMount:{default:()=>ml.defaultProps.onMount},onShow:{default:()=>ml.defaultProps.onShow},onShown:{default:()=>ml.defaultProps.onShown},onTrigger:{default:()=>ml.defaultProps.onTrigger},onUntrigger:{default:()=>ml.defaultProps.onUntrigger},onClickOutside:{default:()=>ml.defaultProps.onClickOutside},placement:{default:()=>ml.defaultProps.placement},plugins:{default:()=>ml.defaultProps.plugins},popperOptions:{default:()=>ml.defaultProps.popperOptions},render:{default:()=>ml.defaultProps.render},showOnCreate:{type:Boolean,default:()=>ml.defaultProps.showOnCreate},touch:{type:[Boolean,String,Array],default:()=>ml.defaultProps.touch},trigger:{default:()=>ml.defaultProps.trigger},triggerTarget:{default:()=>ml.defaultProps.triggerTarget},animateFill:{type:Boolean,default:()=>ml.defaultProps.animateFill},followCursor:{type:[Boolean,String],default:()=>ml.defaultProps.followCursor},inlinePositioning:{type:Boolean,default:()=>ml.defaultProps.inlinePositioning},sticky:{type:[Boolean,String],default:()=>ml.defaultProps.sticky},allowHTML:{type:Boolean,default:()=>ml.defaultProps.allowHTML},animation:{default:()=>ml.defaultProps.animation},arrow:{default:()=>ml.defaultProps.arrow},content:{default:()=>ml.defaultProps.content},inertia:{default:()=>ml.defaultProps.inertia},maxWidth:{default:()=>ml.defaultProps.maxWidth},role:{default:()=>ml.defaultProps.role},theme:{default:()=>ml.defaultProps.theme},zIndex:{default:()=>ml.defaultProps.zIndex}},emits:["state"],setup(e,{slots:t,emit:n,expose:o}){const r=vt(),i=vt(),s=vt(!1),a=()=>{let t={...e};for(const e of["to","tag","contentTag","contentClass"])t.hasOwnProperty(e)&&delete t[e];return t};let l=()=>function(e){var t,n;const o="function"==typeof(r=e)?r():bt(r);var r;return null!==(n=null===(t=o)||void 0===t?void 0:t.$el)&&void 0!==n?n:o}(r);e.to&&("undefined"!=typeof Element&&e.to instanceof Element?l=()=>e.to:("string"==typeof e.to||e.to instanceof String)&&(l=()=>document.querySelector(e.to)));const c=Sl(l,a());Vn((()=>{s.value=!0,Rt((()=>{t.content&&c.setContent((()=>i.value))}))})),Cn(c.state,(()=>{n("state",bt(c.state))}),{immediate:!0,deep:!0}),Cn((()=>e),(()=>{c.setProps(a()),t.content&&c.setContent((()=>i.value))}),{deep:!0});let u=rt({elem:r,contentElem:i,mounted:s,...c});return o(u),()=>{const n=t.default?t.default(u):[],o=(e.contentTag,e.contentTag);if(!e.tag){const a=Pr(n[0],{ref:r,"data-v-tippy":""});return t.content?[a,Pr(o,{ref:i,style:{display:s.value?"inherit":"none"},class:e.contentClass},t.content(u))]:a}return Pr((e.tag,e.tag),{ref:r,"data-v-tippy":""},t.content?[n,Pr(o,{ref:i,style:{display:s.value?"inherit":"none"},class:e.contentClass},t.content(u))]:n)}}});const kl=["a11y","allowHTML","arrow","flip","flipOnUpdate","hideOnClick","ignoreAttributes","inertia","interactive","lazy","multiple","showOnInit","touch","touchHold"];let Tl={};Object.keys(ml.defaultProps).forEach((e=>{kl.includes(e)?Tl[e]={type:Boolean,default:function(){return ml.defaultProps[e]}}:Tl[e]={default:function(){return ml.defaultProps[e]}}})),Zn({props:Tl,setup(e){const t=vt([]),{singleton:n}=function(e,t){const n=vt();return Vn((()=>{const o=(Array.isArray(e)?e.map((e=>e.value)):"function"==typeof e?e():e.value).map((e=>e instanceof Element?e._tippy:e)).filter(Boolean);n.value=function(e,t){var n;void 0===t&&(t={});var o,r=e,i=[],s=[],a=t.overrides,l=[],c=!1;function u(){s=r.map((function(e){return Ha(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function d(){i=r.map((function(e){return e.reference}))}function p(e){r.forEach((function(t){e?t.enable():t.disable()}))}function C(e){return r.map((function(t){var n=t.setProps;return t.setProps=function(r){n(r),t.reference===o&&e.setProps(r)},function(){t.setProps=n}}))}function f(e,t){var n=s.indexOf(t);if(t!==o){o=t;var l=(a||[]).concat("content").reduce((function(e,t){return e[t]=r[n].props[t],e}),{});e.setProps(Object.assign({},l,{getReferenceClientRect:"function"==typeof l.getReferenceClientRect?l.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}p(!1),d(),u();var h,m,g,v={fn:function(){return{onDestroy:function(){p(!0)},onHidden:function(){o=null},onClickOutside:function(e){e.props.showOnCreate&&!c&&(c=!0,o=null)},onShow:function(e){e.props.showOnCreate&&!c&&(c=!0,f(e,i[0]))},onTrigger:function(e,t){f(e,t.currentTarget)}}}},y=ml(Na(),Object.assign({},(h=t,m=["overrides"],g=Object.assign({},h),m.forEach((function(e){delete g[e]})),g),{plugins:[v].concat(t.plugins||[]),triggerTarget:s,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[gl])})})),b=y.show;y.show=function(e){if(b(),!o&&null==e)return f(y,i[0]);if(!o||null!=e){if("number"==typeof e)return i[e]&&f(y,i[e]);if(r.indexOf(e)>=0){var t=e.reference;return f(y,t)}return i.indexOf(e)>=0?f(y,e):void 0}},y.showNext=function(){var e=i[0];if(!o)return y.show(0);var t=i.indexOf(o);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!o)return y.show(e);var t=i.indexOf(o),n=i[t-1]||e;y.show(n)};var w=y.setProps;return y.setProps=function(e){a=e.overrides||a,w(e)},y.setInstances=function(e){p(!0),l.forEach((function(e){return e()})),r=e,p(!1),d(),u(),l=C(y),y.setProps({triggerTarget:s})},l=C(y),y}(o,t?{allowHTML:!0,...t}:{allowHTML:!0})})),{singleton:n}}(t,e);return{instances:t,singleton:n}},mounted(){var e;const t=this.$el.parentElement.querySelectorAll("[data-v-tippy]");this.instances=Array.from(t).map((e=>e._tippy)).filter(Boolean),null===(e=this.singleton)||void 0===e||e.setInstances(this.instances)},render(){let e=this.$slots.default?this.$slots.default():[];return Pr((()=>e))}});const Ol={mounted(e,t,n){const o="string"==typeof t.value?{content:t.value}:t.value||{},r=Object.keys(t.modifiers||{}),i=r.find((e=>"arrow"!==e)),s=-1!==r.findIndex((e=>"arrow"===e));i&&(o.placement=o.placement||i),s&&(o.arrow=void 0===o.arrow||o.arrow),n.props&&n.props.onTippyShow&&(o.onShow=function(...e){var t;return null===(t=n.props)||void 0===t?void 0:t.onTippyShow(...e)}),n.props&&n.props.onTippyShown&&(o.onShown=function(...e){var t;return null===(t=n.props)||void 0===t?void 0:t.onTippyShown(...e)}),n.props&&n.props.onTippyHidden&&(o.onHidden=function(...e){var t;return null===(t=n.props)||void 0===t?void 0:t.onTippyHidden(...e)}),n.props&&n.props.onTippyHide&&(o.onHide=function(...e){var t;return null===(t=n.props)||void 0===t?void 0:t.onTippyHide(...e)}),n.props&&n.props.onTippyMount&&(o.onMount=function(...e){var t;return null===(t=n.props)||void 0===t?void 0:t.onTippyMount(...e)}),e.getAttribute("title")&&!o.content&&(o.content=e.getAttribute("title"),e.removeAttribute("title")),e.getAttribute("content")&&!o.content&&(o.content=e.getAttribute("content")),Sl(e,o)},unmounted(e){e.$tippy?e.$tippy.destroy():e._tippy&&e._tippy.destroy()},updated(e,t){const n="string"==typeof t.value?{content:t.value}:t.value||{};e.getAttribute("title")&&!n.content&&(n.content=e.getAttribute("title"),e.removeAttribute("title")),e.getAttribute("content")&&!n.content&&(n.content=e.getAttribute("content")),e.$tippy?e.$tippy.setProps(n||{}):e._tippy&&e._tippy.setProps(n||{})}};(0,ml.setDefaultProps)({ignoreAttributes:!0,plugins:[_l,Ml,Ll,vl]});const Zl={key:0},Al={key:1},El={name:"TruncatedRecord",props:{truncated:String,value:String},data:()=>({truncate:!0,i18n:Vi.default}),methods:{toggleTruncation(){this.$data.truncate=!this.$data.truncate}}},Dl=(0,Fi.Z)(El,[["render",function(e,t,n,o,r,i){return r.truncate?(Go(),tr("div",Zl,[lr("p",null,[dr(z(n.truncated)+" ",1),lr("a",{onClick:t[0]||(t[0]=(...e)=>i.toggleTruncation&&i.toggleTruncation(...e))},z(r.i18n.templates.truncatedRecord.showMore),1)])])):(Go(),tr("div",Al,[lr("p",null,[dr(z(n.value)+" ",1),lr("a",{onClick:t[1]||(t[1]=(...e)=>i.toggleTruncation&&i.toggleTruncation(...e))},z(r.i18n.templates.truncatedRecord.showLess),1)])]))}]]),Pl={key:0},$l=["title"],Rl={key:0},Hl=lr("b",null,"ASN:",-1),Fl=lr("b",null,"CIDR:",-1),jl={key:1};var Vl=n(8967);const Il={name:"WHOIS",directives:{tippy:Ol},props:{ip:String},data:()=>({done:!1,asn:"",cidr:"",abuse:"",netname:"",expand:!1,countryCode:"",countryInfo:"",i18n:Vi.default}),watch:{ip(){this.handleInit()}},mounted(){this.handleInit()},methods:{toggleExpand(){this.$data.expand=!this.$data.expand},async handleInit(){const e=await(0,Si.Z)(this.$props.ip);console.log(e);const t=await(await(0,Vl.Z)(this.$props.ip)).json();this.countryCode=t.country_code?t.country_code.toLowerCase():"",this.netname=e&&e.name||Vi.default.templates.whois.notSpecified,this.asn=e&&e.asn||Vi.default.common.none,this.cidr=e&&e.cidr||Vi.default.common.none,this.abuse=e&&e.abuse||Vi.default.common.none,this.countryInfo=t.city?`${t.city}, ${t.country}`:t.country,this.done=!0}}},Nl=(0,Fi.Z)(Il,[["render",function(e,t,n,o,r,i){const s=Jn("tippy");return r.done?(Go(),tr("div",Pl,[lr("p",null,[lr("small",null,[lr("b",null,z(r.i18n.templates.whois.owner)+":",1),dr(),lr("a",{onClick:t[0]||(t[0]=(...e)=>i.toggleExpand&&i.toggleExpand(...e))},z(r.netname),1),vn(lr("span",{id:"countryInfo",class:X(`flag-icon flag-icon-${r.countryCode}`),title:r.countryInfo},null,10,$l),[[s]])])]),r.expand?(Go(),tr("div",Rl,[lr("p",null,[lr("small",null,[Hl,dr(" "+z(r.asn),1)])]),lr("p",null,[lr("small",null,[Fl,dr(" "+z(r.cidr),1)])]),lr("p",null,[lr("small",null,[lr("b",null,z(r.i18n.templates.whois.abuseContact)+":",1),dr(" "+z(r.abuse),1)])])])):pr("v-if",!0)])):(Go(),tr("div",jl,[lr("p",null,[lr("small",null,[lr("i",null,z(r.i18n.templates.whois.loading),1)])])]))}]]);var Bl=n(5251),Ul=n(9278),Wl=n(1310),Xl=n(955),Kl=n(3148),ql=n(4028),zl=n(8673),Yl=n(5810),Gl=n(970),Jl=n(218);const Ql={key:0},ec=lr("hr",null,null,-1),tc={key:0},nc={key:1};var oc=n(7574);const rc=["href","textContent"],ic=lr("i",{class:"fas fa-external-link-alt"},null,-1),sc={name:"ExternalLink",props:{link:String,text:String}},ac=(0,Fi.Z)(sc,[["render",function(e,t,n,o,r,i){return Go(),tr("span",null,[lr("a",{href:n.link,target:"_blank",rel:"noreferrer",textContent:z(n.text)},null,8,rc),ic])}]]),lc={name:"MXBlocklist",components:{ExternalLink:ac},props:{ip:String,hostname:String},data:()=>({blocklists:[],i18n:Vi.default}),watch:{ip(){this.init()},hostname(){this.init()}},mounted(){this.init()},methods:{async init(){this.$data.blocklists=[];const e=this.$props.hostname;if(""!==e){const t=this.$props.ip,n=await(0,oc.Z)(t,e);for(const e of n.ip)this.$data.blocklists.push(Vi.default.templates.mxBlocklist.ipBlocked.replace("BLOCKLIST",e));for(const e of n.domain)this.$data.blocklists.push(Vi.default.templates.mxBlocklist.domainBlocked.replace("BLOCKLIST",e))}}}},cc=(0,Fi.Z)(lc,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink");return""!==n.hostname?(Go(),tr("div",Ql,[ec,0!==r.blocklists.length?(Go(),tr("div",tc,[(Go(!0),tr(Wo,null,to(r.blocklists,(e=>(Go(),tr("p",null,[lr("small",null,[lr("b",null,z(e),1)])])))),256))])):(Go(),tr("div",nc,[lr("p",null,[lr("small",null,[lr("b",null,z(r.i18n.templates.mxBlocklist.notBlocked),1)])])])),lr("p",null,[lr("small",null,[cr(s,{text:r.i18n.templates.mxBlocklist.whatDoesItMean,link:"https://www.mailchannels.com/what-are-email-blocklists/"},null,8,["text"])])])])):pr("v-if",!0)}]]),uc=lr("br",null,null,-1),dc={class:"table",style:{"border-collapse":"separate","border-spacing":"0.35em"}},pc={name:"RecordSkeleton",props:{loading:Boolean},methods:{getRandomInt:Ri.XF,getSkeletonStyle:Ri.YI,getClass(){return"data-skeleton"+(this.$props.loading?" skeleton-running":"")}}},Cc=(0,Fi.Z)(pc,[["render",function(e,t,n,o,r,i){return Go(),tr("div",null,[lr("h3",{class:X(i.getClass()),style:I(i.getSkeletonStyle(100,300,1.4))},null,6),lr("p",{class:X(i.getClass()),style:I(i.getSkeletonStyle(300,600))},null,6),uc,lr("table",dc,[lr("tbody",null,[(Go(!0),tr(Wo,null,to(i.getRandomInt(1,3),(e=>(Go(),tr("tr",{key:e},[lr("td",{class:X(i.getClass()),style:I(i.getSkeletonStyle(100,200))},null,6),lr("td",{class:X(i.getClass()),style:I(i.getSkeletonStyle(50,100))},null,6),lr("td",{class:X(i.getClass()),style:I(i.getSkeletonStyle(100,300))},null,6)])))),128))])]),lr("p",{class:X(i.getClass()),style:I(i.getSkeletonStyle(400,500))},null,6)])}]]),fc={class:"table is-bordered"},hc={class:"modal-card"},mc={class:"modal-card-head"},gc={class:"modal-card-title"},vc=["aria-label"],yc={class:"modal-card-body"},bc={name:"Modal",props:{title:String},data:()=>({toggled:!1}),methods:{open(){this.$data.toggled=!0},close(){this.$data.toggled=!1},toggle(){this.$data.toggled=!this.$data.toggled}}},wc=(0,Fi.Z)(bc,[["render",function(e,t,n,o,r,i){return Go(),tr("div",{class:X("modal"+(r.toggled?" is-active":""))},[lr("div",{class:"modal-background",onClick:t[0]||(t[0]=(...e)=>i.toggle&&i.toggle(...e))}),lr("div",hc,[lr("header",mc,[lr("p",gc,z(n.title),1),lr("button",{class:"delete","aria-label":i.close,onClick:t[1]||(t[1]=(...e)=>i.toggle&&i.toggle(...e))},null,8,vc)]),lr("section",yc,[no(e.$slots,"default")])])],2)}]]),Lc={name:"DNSDiff",components:{Modal:wc},props:{dnsDifferences:Array,recordType:String},data:()=>({i18n:Vi.default}),methods:{toggle(){this.$refs.Modal.toggle()}}},Mc=(0,Fi.Z)(Lc,[["render",function(e,t,n,o,r,i){const s=Yn("Modal");return Go(),nr(s,{ref:"Modal",title:`${r.i18n.templates.dnsDiff.title} ${r.i18n.templates.dnsDiff.XRecords.replace("{record}",n.recordType)}`},{default:an((()=>[lr("table",fc,[lr("thead",null,[lr("tr",null,[lr("th",null,z(r.i18n.templates.dnsDiff.host),1),lr("th",null,z(r.i18n.templates.dnsDiff.cfDns),1),lr("th",null,z(r.i18n.templates.dnsDiff.gDns),1)])]),lr("tbody",null,[(Go(!0),tr(Wo,null,to(n.dnsDifferences,(e=>(Go(),tr("tr",null,[(Go(!0),tr(Wo,null,to(e,(e=>(Go(),tr("td",null,[lr("p",null,z(e||r.i18n.common.none),1)])))),256))])))),256))])])])),_:1},8,["title"])}]]);var _c=n(7748);const xc=["innerHTML"],Sc=lr("hr",null,null,-1),kc=["innerHTML"],Tc=lr("hr",null,null,-1),Oc={name:"DMARCExplainerModal",components:{Modal:wc,ExternalLink:ac},data:()=>({i18n:Vi.default,dmarc:zl.Z}),methods:{toggle(){this.$refs.Modal.toggle()}}},Zc=(0,Fi.Z)(Oc,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink"),a=Yn("Modal");return Go(),nr(a,{ref:"Modal",title:r.i18n.templates.dmarcExplainer.title},{default:an((()=>[lr("div",{innerHTML:r.i18n.templates.dmarcExplainer.intro},null,8,xc),Sc,(Go(!0),tr(Wo,null,to(r.dmarc,((e,t)=>(Go(),tr("p",{key:t},[lr("b",null,z(t),1),dr(": "),lr("span",{innerHTML:e},null,8,kc)])))),128)),Tc,lr("p",null,[dr(z(r.i18n.templates.dmarcExplainer.learnMore)+" ",1),cr(s,{link:"https://dmarc.org/",text:"dmarc.org"}),dr(". ")])])),_:1},8,["title"])}]]),Ac={};for(const e in Xl.default)Xl.default[e].additionalDataParsing&&(Ac[e]=Xl.default[e].additionalDataParsing);const Ec=/.*\.[a-z]+/,Dc=async e=>{if(!e.match(Ec))return e;const t=await(0,$i.default)(e,"A");if(!t.ok)throw new Error;const n=await t.json();if(!n.Answer)throw new Error;return n.Answer[0].data},Pc={name:"Record",components:{TruncatedRecord:Dl,WHOIS:Nl,MXBlocklist:cc,RecordSkeleton:Cc,DNSDiff:Mc,ExternalLink:ac,DMARCExplainerModal:Zc},directives:{tippy:Ol},props:{recordUrl:String,data:String,recordType:String,recordDescription:String,expectsHost:Boolean,ns:String,registrar:String,loading:Boolean},data:()=>({active:!1,recordKeys:[],recordRows:[],dnsDifferences:[],learnMore:null,recordKeyHelp:Kl.Z,i18n:Vi.default}),watch:{data(){this.recordInit()},ns(){this.handleNs()},registrar(){this.handleRegistrar()}},mounted(){this.recordInit(),this.handleNs(),this.handleRegistrar()},methods:{openDmarcModal(){this.$refs.DMARCExplainerModal.toggle()},insertHtmlPlaceholders(){return Vi.default.templates.records.srvTlsaFormat.replace(/{record}/g,this.$props.recordType).replace(/{sub}/g,"SRV"===this.$props.recordType?"service":"port").replace(/{a}/g,"SRV"===this.$props.recordType?"an":"a")},toggleDnsDifferences(){this.$refs.DNSDiff.toggle()},async wait(){return new Promise((e=>{const t=()=>{this.$data.active?e():setTimeout(t,10)};t()}))},standardiseGoogleCf(e,t){const n=/include:_spf\" +\"/g,o=(e=e.toString().trim()).match(/[0-9]+ (.+)/);return o&&(e=o[1]),e.match(n)&&(e=e.replace(n,'include:_spf""')),"SSHFP"!==t&&"TLSA"!==t||(e=e.toLowerCase()),e},async handleSecondaryLookup(e,t,n){const o=await(0,Bl.Z)(n,t),r=(await o.json()).Answer||[],i=[],s=[];for(const n of e)n.data&&s.push(this.standardiseGoogleCf(n.data,t));for(const e of r)e.data&&i.push(this.standardiseGoogleCf(e.data,t));const a=[];for(const e of s)i.includes(e)||a.push([n,e,null]);for(const e of i)s.includes(e)||a.push([n,null,e]);this.$data.dnsDifferences=a},async recordInit(){if(""===this.$props.data)return;this.$data.recordKeys=[],this.$data.recordRows=[];const e=this.$props.recordType;let t=this.$props.recordType,n=this.$props.data;"DMARC"===e&&(n=`_dmarc.${n}`,t="TXT");const o=await(0,$i.default)(n,t);if(!o.ok)throw o;const r=await o.json();if(this.$data.dnsDifferences=[],!r.Answer)return this.$data.active=!0,this.$data.recordRows=[],this.$data.recordKeys=[],void _c.Gm.set(e,{});for(const e of r.Answer)if(e.data.startsWith("\\#")){const n=e.data.split(" "),o=n.length>1?Number(n[1]):0;if(n.splice(0,2),n.splice(o),"CAA"===t&&n.length>1){const t=Number(n[1]);n.splice(0,2);const o=n.splice(0,t).map((e=>String.fromCharCode(parseInt(e,16)))).join("").trim().replace(/[^a-z0-9]/gi,""),r=n.map((e=>String.fromCharCode(parseInt(e,16)))).join("").trim();e.data=`${o} "${r}"`;continue}e.data=n.map((e=>String.fromCharCode(parseInt(e,16)))).join("").trim()}this.handleSecondaryLookup(r.Answer,t,n).then();const i={};(0,Ul.Z)(e,r,{},i,/[=: ]/),this.$data.recordKeys=Object.keys(i);const s=(0,Wl.I)(Object.values(i));let a=[];for(let o=0;o1?"v"===r[0]&&"spf1"===r[1]?`${r[0]}=${r[1]}`:r[0]:o.substr(0,30),ql.Z[e]&&(a.description=ql.Z[e]),o.length>20&&(a.values[0].truncated=e),"v=spf1"===e&&(a.button={link:`https://www.digitalocean.com/community/tools/spf?domain=${n}`,text:"Explore and evaluate SPF record"})}else if("DMARC"===e){const e=o.split("=")[0].trim();zl.Z[e]&&(a.description=zl.Z[e])}}this.$props.expectsHost&&(a.values[0].ip=await Dc(a.values[0].result),a.values[0].hostname=a.values[0].result,a.values[0].ip!==a.values[0].result&&(a.values[0].result=`${a.values[0].hostname} (${a.values[0].ip})`))}else"Name"===s?"."===a.values[0].result[a.values[0].result.length-1]&&(a.values[0].result=a.values[0].result.slice(0,-1)):a.values[0].result=a.values[0].result?a.values[0].result:"--";r.push(a)}a.push(r)}if("TXT"===e){const e={};for(const t of a){const n=`${t[0].values[0].result}%${t[1].values[0].result}%${t[2].values[0].truncated}`;e[n]?e[n].push(t):e[n]=[t]}a=[];for(const t of Object.values(e)){const e=t.shift();for(const n of t)e[2].values.push(n[2].values[0]);a.push(e)}}this.$data.recordRows=a,this.$data.active=!0,_c.Gm.set(e,r)},set(e,t){const n=t?Yl.Z:Gl.Z,o=Jl.Z[n.get(e)];"string"==typeof o?this.$data.learnMore=o:o[this.$props.recordType]&&(this.$data.learnMore=o[this.$props.recordType])},async handleRegistrar(){if("NS"===this.$props.recordType){this.$data.learnMore=null;for(const e of Yl.Z.keys())if(this.$props.registrar.match(e))return this.set(e,!0)}},async handleNs(){if("NS"!==this.$props.recordType){this.$data.learnMore=null;const e=this.$props.ns;for(const t of Gl.Z.keys())if(e.match(t))return this.set(t)}},propagationToggle(){this.$emit("propagation-toggle")}}},$c=(0,Fi.Z)(Pc,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink"),a=Yn("TruncatedRecord"),l=Yn("WHOIS"),c=Yn("MXBlocklist"),u=Yn("DNSDiff"),d=Yn("RecordSkeleton"),p=Yn("DMARCExplainerModal"),C=Jn("tippy");return Go(),tr("div",null,[r.active?(Go(),tr("div",Bi,[lr("h3",{id:`${n.recordType}-Records`,class:"title is-3"},[dr(z(n.recordType)+" "+z(r.i18n.common.records)+" ",1),lr("a",{href:`#${n.recordType}-Records`},Xi,8,Wi)],8,Ui),lr("p",null,[lr("span",{innerHTML:n.recordDescription},null,8,Ki),cr(s,{link:n.recordUrl,text:r.i18n.templates.records.learnMore},null,8,["link","text"])]),0===r.recordKeys.length?(Go(),tr("div",qi,[lr("p",null,[lr("b",null,z(r.i18n.templates.records.noRecords),1)]),"SRV"===n.recordType||"TLSA"===n.recordType?(Go(),tr("p",{key:0,innerHTML:i.insertHtmlPlaceholders()},null,8,zi)):pr("v-if",!0)])):(Go(),tr("div",Yi,["DMARC"===n.recordType?(Go(),tr("p",Gi,[lr("a",{onClick:t[0]||(t[0]=(...e)=>i.openDmarcModal&&i.openDmarcModal(...e))},z(r.i18n.templates.records.dmarcMechanisms),1)])):pr("v-if",!0),lr("div",Ji,[lr("table",Qi,[lr("thead",null,[lr("tr",null,[(Go(!0),tr(Wo,null,to(r.recordKeys,(e=>(Go(),tr("th",null,[dr(z(e)+" ",1),e in r.recordKeyHelp?vn((Go(),tr("i",{key:0,title:r.recordKeyHelp[e],class:"far fa-question-circle help"},null,8,es)),[[C]]):pr("v-if",!0)])))),256))])]),lr("tbody",null,[(Go(!0),tr(Wo,null,to(r.recordRows,(e=>(Go(),tr("tr",null,[(Go(!0),tr(Wo,null,to(e,(e=>(Go(),tr("td",null,[(Go(!0),tr(Wo,null,to(e.values,(e=>(Go(),tr("div",null,[e.truncated?(Go(),tr("div",ts,[cr(a,{value:e.result,truncated:e.truncated},null,8,["value","truncated"])])):(Go(),tr("div",ns,[dr(z(e.result)+" ",1),e.hostname?(Go(),tr("div",os,[rs,cr(l,{ip:e.ip},null,8,["ip"]),"MX"===n.recordType?(Go(),tr("div",is,[cr(c,{ip:e.ip,hostname:e.hostname?e.hostname:""},null,8,["ip","hostname"])])):pr("v-if",!0)])):pr("v-if",!0)]))])))),256)),e.description?(Go(),tr("div",ss,[as,lr("p",null,[lr("small",null,[lr("b",{innerHTML:e.description},null,8,ls)])])])):pr("v-if",!0),e.button?(Go(),tr("a",{key:1,href:e.button.link,class:"button is-primary is-mini"},z(e.button.text),9,cs)):pr("v-if",!0)])))),256))])))),256))])])])])),lr("p",us,[lr("a",{onClick:t[1]||(t[1]=(...e)=>i.propagationToggle&&i.propagationToggle(...e))},z(r.i18n.templates.records.propagation),1)]),0!==r.dnsDifferences.length?(Go(),tr("div",ds,[lr("p",null,[lr("a",{onClick:t[2]||(t[2]=(...e)=>i.toggleDnsDifferences&&i.toggleDnsDifferences(...e))},[lr("b",null,z(r.i18n.templates.records.propagationNote),1)])]),cr(u,{ref:"DNSDiff","dns-differences":r.dnsDifferences,"record-type":n.recordType},null,8,["dns-differences","record-type"])])):pr("v-if",!0),r.learnMore?(Go(),tr("p",ps,[cr(s,{link:r.learnMore,text:r.i18n.templates.records.learnHow.replace("{record}",n.recordType)},null,8,["link","text"])])):pr("v-if",!0)])):(Go(),tr("div",Cs,[cr(d,{loading:n.loading},null,8,["loading"])])),fs,cr(p,{ref:"DMARCExplainerModal"},null,512)])}]]);var Rc=n(1193);const Hc=["innerHTML"],Fc={key:1},jc=e=>{const t=/{link\|([^|]+)\|([^|]+)}/,n=[];for(;;){const o=e.match(t);if(!o)break;const r=e.split(o[0]);n.push(r[0]),n.push([o[1],o[2]]),e=r[1]}return n.push(e),n};let Vc,Ic;const Nc=()=>Vi.default.templates.propagationModal.tutorial.replace("{{DEEPLINK}}",(()=>{const e="https://dnschecker.org/";return Vc&&Ic?`${e}#${Vc.toUpperCase()}/${Ic}`:e})()),Bc={name:"PropagationModal",components:{ExternalLink:ac,Modal:wc},data:()=>({tutorial:Nc(),i18n:Vi.default}),methods:{splitUrlText:e=>jc(e),setData(e,t){Vc=e,Ic=t,this.$data.tutorial=Nc()},toggle(){this.$refs.Modal.toggle()}}},Uc={name:"RecordBase",components:{Record:$c,PropagationModal:(0,Fi.Z)(Bc,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink"),a=Yn("Modal");return Go(),nr(a,{ref:"Modal",title:r.i18n.templates.propagationModal.title},{default:an((()=>[(Go(!0),tr(Wo,null,to(i.splitUrlText(r.tutorial),(e=>(Go(),tr("span",null,["string"==typeof e?(Go(),tr("span",{key:0,innerHTML:e},null,8,Hc)):(Go(),tr("span",Fc,[cr(s,{text:e[0],link:e[1]},null,8,["text","link"])]))])))),256))])),_:1},8,["title"])}]])},props:{data:String,registrar:String,loading:Boolean,firstSearch:Boolean},data:()=>({records:Rc.Z,ns:""}),watch:{data(){this.recordsInit()}},methods:{async recordsInit(){if(""===this.$props.data)return;const e=await(await(0,$i.default)(this.$props.data,"NS")).json();this.$data.ns=e.Answer?e.Answer[0].data:""},async wait(){const e=[];for(const t of this.$data.records){const n=this.$refs[t.name][0];n.$data.active=!1,e.push(n.wait())}await Promise.all(e)},toggleModal(e){this.$refs.PropagationModal.setData(e,this.$props.data),this.$refs.PropagationModal.toggle()}}},Wc=(0,Fi.Z)(Uc,[["render",function(e,t,n,o,r,i){const s=Yn("PropagationModal"),a=Yn("Record");return Go(),tr("div",null,[cr(s,{ref:"PropagationModal"},null,512),(Go(!0),tr(Wo,null,to(r.records,(t=>(Go(),tr("div",null,[cr(a,{ref_for:!0,ref:t.name,ns:r.ns,registrar:e.$props.registrar,"record-type":t.name,"record-url":t.url,"record-description":t.description,data:e.$props.data,"expects-host":t.expectsHost,loading:e.$props.loading,style:I({display:n.firstSearch?"none":"initial"}),onPropagationToggle:e=>i.toggleModal(t.name)},null,8,["ns","registrar","record-type","record-url","record-description","data","expects-host","loading","style","onPropagationToggle"])])))),256))])}]]),Xc=Wc,Kc={key:0},qc=lr("b",null,"Jump to:",-1),zc=["href","textContent"],Yc={key:1},Gc={name:"RecordJumpsSkeleton",props:{loaded:Boolean},data:()=>({records:Rc.Z}),methods:{getSkeletonStyle:Ri.YI}},Jc={name:"RecordJumps",components:{RecordJumpsSkeleton:(0,Fi.Z)(Gc,[["render",function(e,t,n,o,r,i){return Go(),tr("div",null,[lr("p",null,[(Go(!0),tr(Wo,null,to(r.records,(e=>(Go(),tr("span",{class:"data-skeleton",style:I({...i.getSkeletonStyle(75,150),display:"inline-block",marginRight:"0.2em"})},null,4)))),256))])])}]])},props:{loaded:Boolean,loading:Boolean},data:()=>({records:Rc.Z,i18n:Vi.default})},Qc=(0,Fi.Z)(Jc,[["render",function(e,t,n,o,r,i){const s=Yn("RecordJumpsSkeleton");return n.loaded?(Go(),tr("div",Kc,[lr("p",null,[qc,(Go(!0),tr(Wo,null,to(r.records,(e=>(Go(),tr("span",null,[lr("a",{href:`#${e.name}-Records`,class:"jump-link",textContent:z(`${e.name} ${r.i18n.common.records}`)},null,8,zc)])))),256))])])):(Go(),tr("div",Yc,[cr(s,{loading:n.loading},null,8,["loading"])]))}]]),eu=Qc,tu=["id"],nu=["for"],ou={class:"tag is-success"},ru={class:"clipboard textarea has-fixed-size"},iu={name:"ClipboardModal",components:{Modal:wc},data:()=>({textReport:"",i18n:Vi.default}),methods:{show(e){this.$data.textReport=e,this.$refs.Modal.toggle()},hide(){this.$refs.Modal.toggle()},showParent(){this.$refs.Modal.toggle(),this.$emit("toggle-root")}}},su=(0,Fi.Z)(iu,[["render",function(e,t,n,o,r,i){const s=Yn("Modal");return Go(),nr(s,{ref:"Modal",title:r.i18n.templates.clipboardModal.clipboardResult},{default:an((()=>[lr("p",null,[lr("span",ou,z(r.i18n.templates.clipboardModal.thisHasBeenCopied),1)]),lr("pre",ru,[lr("code",null,z(r.textReport),1)])])),_:1},8,["title"])}]]),au=Object.keys(Xl.default),lu={name:"RecordSelectionModal",components:{ClipboardModal:su,Modal:wc},data:()=>({i18n:Vi.default,recordKeys:au}),methods:{toggle(){this.$refs.Modal.toggle()},download(e,t){const n=document.createElement("a");document.body.appendChild(n);const o=window.URL.createObjectURL(new Blob([e],{type:"text/plain;charset=utf-8"}));n.href=o,n.download=t,n.click(),window.URL.revokeObjectURL(o),n.remove()},getAllowedRecords(){const e=Object.keys(this.$refs),t=[];for(const n of e)"ClipboardModal"!==n&&"Modal"!==n&&this.$refs[n][0].checked&&t.push(n);return t},downloadRecords(e){const t=this.getAllowedRecords(),n=e?(0,_c.h8)(t):(0,_c.pT)(t);this.download(n,"records."+(e?"md":"txt"))},copyRecords(e){const t=this.getAllowedRecords(),n=e?(0,_c.h8)(t):(0,_c.pT)(t),o=document.createElement("textarea");document.body.appendChild(o),o.value=n,o.select(),document.execCommand("copy"),o.remove(),this.$refs.ClipboardModal.show(n),this.$refs.Modal.toggle()}}},cu=(0,Fi.Z)(lu,[["render",function(e,t,n,o,r,i){const s=Yn("Modal"),a=Yn("ClipboardModal");return Go(),tr("div",null,[cr(s,{ref:"Modal",title:r.i18n.templates.recordSelectionModal.downloadRecords},{default:an((()=>[(Go(!0),tr(Wo,null,to(r.recordKeys,(e=>(Go(),tr("div",null,[lr("input",{id:`dl-select-${e}`,ref_for:!0,ref:e,type:"checkbox",checked:""},null,8,tu),lr("label",{for:`dl-select-${e}`},z(e)+" "+z(r.i18n.common.records),9,nu)])))),256)),lr("a",{class:"button is-link is-small",style:{"margin-top":"10px"},onClick:t[0]||(t[0]=e=>i.downloadRecords(!1))},z(r.i18n.templates.recordSelectionModal.downloadTextForm),1),lr("a",{class:"button is-link is-small",style:{"margin-top":"10px"},onClick:t[1]||(t[1]=e=>i.copyRecords(!1))},z(r.i18n.templates.recordSelectionModal.copyTextForm),1),lr("a",{class:"button is-link is-small",style:{"margin-top":"10px"},onClick:t[2]||(t[2]=e=>i.downloadRecords(!0))},z(r.i18n.templates.recordSelectionModal.downloadMd),1),lr("a",{class:"button is-link is-small",style:{"margin-top":"10px"},onClick:t[3]||(t[3]=e=>i.copyRecords(!0))},z(r.i18n.templates.recordSelectionModal.copyMd),1)])),_:1},8,["title"]),cr(a,{ref:"ClipboardModal",onToggleRoot:i.toggle},null,8,["onToggleRoot"])])}]]),uu=["innerHTML"];var du=n(6649);const pu={name:"ErrorModal",components:{Modal:wc},props:{message:String},data:()=>({i18n:du.default}),methods:{open(){this.$refs.Modal.open()}}},Cu=(0,Fi.Z)(pu,[["render",function(e,t,n,o,r,i){const s=Yn("Modal");return Go(),nr(s,{ref:"Modal",title:r.i18n.templates.errorModal.title},{default:an((()=>[lr("div",{innerHTML:e.$props.message},null,8,uu)])),_:1},8,["title"])}]]),fu={class:"footer"},hu={class:"container"},mu={href:"#top",class:"button is-primary is-small"},gu={key:0},vu={key:1},yu={templates:{footer:{backToTop:"Back To Top"},landing:{github:"View this tool on GitHub"}}},bu={name:"Footer",components:{ExternalLink:ac},props:{text:String},data:()=>({i18n:yu}),methods:{dataUrlParser:jc}},wu={name:"DNSFooter",components:{Footer:(0,Fi.Z)(bu,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink");return Go(),tr("div",fu,[lr("div",hu,[lr("p",null,[lr("a",mu,z(r.i18n.templates.footer.backToTop),1)]),lr("p",null,[(Go(!0),tr(Wo,null,to(i.dataUrlParser(n.text),(e=>(Go(),tr("span",null,["string"==typeof e?(Go(),tr("span",gu,z(e),1)):(Go(),tr("span",vu,[cr(s,{text:e[0],link:e[1]},null,8,["text","link"])]))])))),256))])])])}]])},data:()=>({i18n:du.default})},Lu=(0,Fi.Z)(wu,[["render",function(e,t,n,o,r,i){const s=Yn("Footer",!0);return Go(),nr(s,{text:r.i18n.templates.footer.oss},null,8,["text"])}]]),Mu=lr("label",{for:"DomainInput",class:"hidden"},"Search",-1),_u=lr("i",{class:"fas fa-search"},null,-1),xu=["placeholder"],Su=["id"],ku={class:"header"},Tu={class:"container"},Ou=["href"],Zu={class:"input-container"},Au={class:"buttons"},Eu={name:"Header",props:{title:String},data:()=>({baseUrl:`${window.location.protocol}//${window.location.host}${window.location.pathname}`}),methods:{emitFormEvent(){this.$emit("form-event")}}},Du=(0,Fi.Z)(Eu,[["render",function(e,t,n,o,r,i){return Go(),tr("div",ku,[lr("div",Tu,[lr("div",null,[lr("h1",null,[lr("a",{href:r.baseUrl},z(n.title),9,Ou)]),lr("h3",null,[no(e.$slots,"description")]),no(e.$slots,"header")]),lr("form",{autocomplete:"on",onSubmit:t[0]||(t[0]=vi(((...e)=>i.emitFormEvent&&i.emitFormEvent(...e)),["prevent"]))},[lr("div",Zu,[no(e.$slots,"input")]),lr("div",Au,[no(e.$slots,"buttons")])],32)])])}]]),Pu=`${window.location.protocol}//${window.location.host}${window.location.pathname}`,$u={name:"DNSHeader",components:{Header:Du},props:{title:String,buttonId:String,initValue:String},data(){return{i18n:du.default,baseUrl:Pu,d:this.$props.initValue}},methods:{emitSearchEvent(){this.$emit("search-event")},execSetText(){this.$emit("set-text",this.$data.d)}}},Ru=(0,Fi.Z)($u,[["render",function(e,t,n,o,r,i){const s=Yn("Header",!0);return Go(),nr(s,{title:n.title,onFormEvent:i.emitSearchEvent},{description:an((()=>[no(e.$slots,"description")])),header:an((()=>[no(e.$slots,"header")])),buttons:an((()=>[no(e.$slots,"buttons")])),input:an((()=>[Mu,_u,vn(lr("input",{id:"DomainInput","onUpdate:modelValue":t[0]||(t[0]=e=>r.d=e),class:"input",type:"text",placeholder:r.i18n.common.searchPlaceholder,onInput:t[1]||(t[1]=(...e)=>i.execSetText&&i.execSetText(...e))},null,40,xu),[[hi,r.d]]),lr("button",{id:n.buttonId,class:"button is-inline"},z(r.i18n.common.searchButton),9,Su)])),_:3},8,["title","onFormEvent"])}]]),Hu={class:"input-container"},Fu={for:"DomainInput",class:"hidden"},ju=lr("i",{class:"fas fa-search"},null,-1),Vu=["placeholder"],Iu=["id"],Nu={class:"landing"},Bu=["innerHTML"],Uu=["innerHTML"],Wu={class:"container"},Xu=["innerHTML"],Ku={name:"Landing",components:{ExternalLink:ac},props:{backgroundTop:String,backgroundBottom:String,title:String,description:String,github:String},data:()=>({i18n:yu})},qu={name:"DNSLanding",components:{Landing:(0,Fi.Z)(Ku,[["render",function(e,t,n,o,r,i){const s=Yn("ExternalLink");return Go(),tr("div",Nu,[lr("div",{class:"background-top",innerHTML:n.backgroundTop},null,8,Bu),lr("div",{class:"background-bottom",innerHTML:n.backgroundBottom},null,8,Uu),lr("div",Wu,[lr("h1",null,z(n.title),1),lr("p",{innerHTML:n.description},null,8,Xu),no(e.$slots,"default"),cr(s,{class:"github-link",text:r.i18n.templates.landing.github,link:n.github},null,8,["text","link"])])])}]])},props:{title:String,description:String,buttonId:String,initValue:String,backgroundTop:String,backgroundBottom:String},data(){return{i18n:du.default,d:this.$props.initValue}},methods:{emitSearchEvent(){this.$emit("search-event")},execSetText(){this.$emit("set-text",this.$data.d)}}},zu=(0,Fi.Z)(qu,[["render",function(e,t,n,o,r,i){const s=Yn("Landing",!0);return Go(),nr(s,{"background-top":n.backgroundTop,"background-bottom":n.backgroundBottom,title:n.title,description:n.description,github:"https://github.com/do-community/dns-tool"},{default:an((()=>[lr("form",{autocomplete:"on",onSubmit:t[2]||(t[2]=vi(((...e)=>i.emitSearchEvent&&i.emitSearchEvent(...e)),["prevent"]))},[lr("div",Hu,[lr("label",Fu,z(r.i18n.common.searchButton),1),ju,vn(lr("input",{id:"DomainInput","onUpdate:modelValue":t[0]||(t[0]=e=>r.d=e),class:"input",type:"text",placeholder:r.i18n.common.searchPlaceholder,onInput:t[1]||(t[1]=(...e)=>i.execSetText&&i.execSetText(...e))},null,40,Vu),[[hi,r.d]]),lr("button",{id:n.buttonId,class:"button is-primary"},z(r.i18n.common.searchButton),9,Iu)])],32)])),_:1},8,["background-top","background-bottom","title","description"])}]]);var Yu=n(609),Gu=n(7719);const Ju=()=>new URLSearchParams(window.location.search),Qu=Ju();let ed=Qu.has("domain")?Qu.get("domain"):void 0;window.addEventListener("popstate",(()=>{ed!==Ju().get("domain")&&window.location.reload()}));const td={name:"App",components:{RecordBase:Xc,DODNS:Ni,RecordJumps:eu,RecordSelectionModal:cu,ErrorModal:Cu,Footer:Lu,Header:Ru,Landing:zu},data:()=>({firstSearch:!0,data:"",linked:null,i18n:Vi.default,siteLoading:!1,registrar:"",contentOpacity:1,errorMessage:"",dnsTop:'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n',dnsBottom:'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'}),mounted(){this.$data.linked=ed,this.$data.linked&&this.searchDNSEvent()},methods:{getInitDomainValue:()=>ed||"",error(e){this.$data.errorMessage=`

${e}

`,this.$refs.ErrorModal.open(),this.$data.contentOpacity=1},async searchWait(){await this.$refs.RecordBase.wait()},toggleRecordTextModal(){this.$refs.RecordSelectionModal.toggle()},async setRegistrar(e){const t=await(0,Si.Z)(e);this.$data.registrar=t&&t.registrar||""},async searchDNSEvent(){const e=document.getElementById("SearchButton");try{if(e.classList.add("is-loading"),this.$data.siteLoading)return;this.$data.contentOpacity=0;const t=document.getElementById("DomainInput").value,[n,o]=await(0,Gu.Z)(t);if(null!==o)return this.error(o);this.$data.data===n&&(this.$data.data=""),this.$data.firstSearch=!1,this.$data.siteLoading=!0,this.$data.contentOpacity=1,this.setRegistrar(n),this.$data.linked||(ed=n,window.history.pushState({},"",`?domain=${encodeURIComponent(n)}`)),_c.Gm.clear(),(0,Yu.remakeController)(),this.$data.linked=null,this.$data.data=n,await this.searchWait()}catch(e){console.error(e)}finally{e.classList.remove("is-loading"),this.$data.siteLoading=!1;const t=""===window.location.hash?null:window.location.hash.substr(1);if(!t)return;const n=document.getElementById(t);n&&n.scrollIntoView()}}}},nd=(0,Fi.Z)(td,[["render",function(e,t,n,o,r,i){const s=Yn("Landing"),a=Yn("RecordSelectionModal"),l=Yn("DODNS"),c=Yn("RecordJumps"),u=Yn("Header"),d=Yn("RecordBase"),p=Yn("Footer"),C=Yn("ErrorModal");return Go(),tr("div",{class:X("all do-bulma"+(r.firstSearch?" landing":""))},[r.firstSearch?(Go(),nr(s,{key:0,title:r.i18n.templates.app.title,description:r.i18n.templates.app.description,"button-id":"SearchButton","init-value":i.getInitDomainValue(),"background-top":r.dnsTop,"background-bottom":r.dnsBottom,onSearchEvent:i.searchDNSEvent},null,8,["title","description","init-value","background-top","background-bottom","onSearchEvent"])):(Go(),tr("div",Mi,[cr(a,{ref:"RecordSelectionModal"},null,512),cr(u,{title:r.i18n.templates.app.title,"button-id":"SearchButton","init-value":i.getInitDomainValue(),onSearchEvent:i.searchDNSEvent},{description:an((()=>[cr(l,{style:I({opacity:r.contentOpacity}),loaded:""!==r.data,data:r.data,loading:r.siteLoading},null,8,["style","loaded","data","loading"])])),header:an((()=>[cr(c,{style:I({opacity:r.contentOpacity}),loaded:""!==r.data,loading:r.siteLoading},null,8,["style","loaded","loading"])])),buttons:an((()=>[""!==r.data?(Go(),tr("a",{key:0,class:"button is-primary",onClick:t[0]||(t[0]=(...e)=>i.toggleRecordTextModal&&i.toggleRecordTextModal(...e))},z(r.i18n.templates.app.textRecords),1)):pr("v-if",!0)])),_:1},8,["title","init-value","onSearchEvent"])])),lr("div",{class:"main container",style:I({opacity:r.contentOpacity})},[lr("div",_i,[cr(d,{ref:"RecordBase",data:r.data,registrar:r.registrar,loading:r.siteLoading,"first-search":r.firstSearch},null,8,["data","registrar","loading","first-search"])])],4),r.firstSearch?pr("v-if",!0):(Go(),tr("div",xi,[cr(p)])),cr(C,{ref:"ErrorModal",message:r.errorMessage},null,8,["message"])],2)}]]);document.head.title=Vi.default.templates.app.title,((...e)=>{const t=wi().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=function(e){return g(e)?document.querySelector(e):e}(e);if(!o)return;const r=t._component;m(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t})(nd).mount("#app")})()})(); +//# sourceMappingURL=mount.js.map \ No newline at end of file diff --git a/dns-lookup/mount.js.LICENSE.txt b/dns-lookup/mount.js.LICENSE.txt new file mode 100644 index 0000000..be6ff9a --- /dev/null +++ b/dns-lookup/mount.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * vue-tippy v6.2.0 + * (c) 2023 + * @license MIT + */ diff --git a/dns-lookup/mount.js.map b/dns-lookup/mount.js.map new file mode 100644 index 0000000..6705aa4 --- /dev/null +++ b/dns-lookup/mount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mount.js","mappings":";yCAGA,IAUIA,EAVY,WAIf,GAAoB,oBAATC,KAAwB,OAAOA,KAC1C,GAAsB,oBAAXC,OAA0B,OAAOA,OAC5C,QAAsB,IAAXC,EAAAA,EAA0B,OAAOA,EAAAA,EAC5C,MAAM,IAAIC,MAAM,iCACjB,CAEmBC,GAEnBC,EAAOC,QAAUA,EAAUP,EAAaQ,MAGpCR,EAAaQ,QAChBD,EAAAA,QAAkBP,EAAaQ,MAAMC,KAAKT,IAG3CO,EAAQG,QAAUV,EAAaU,QAC/BH,EAAQI,QAAUX,EAAaW,QAC/BJ,EAAQK,SAAWZ,EAAaY,oCCpBhCL,EAAQ,EAAU,CAACM,EAAKC,KACpB,MAAMC,EAASF,EAAIG,WAAaH,EAChC,IAAK,MAAOI,EAAKC,KAAQJ,EACrBC,EAAOE,GAAOC,EAElB,OAAOH,CAAM,kBCTjB,MAAMP,EAAQW,EAAQ,OAChB,eAAEC,EAAc,oBAAEC,EAAmB,iBAAEC,GAAqBH,EAAQ,KAEpEI,EAAiBC,IACnB,MAAMC,EAAQD,EAAKE,UAAYF,EAAKE,SAASD,MAC7C,GAAKA,GAAUE,MAAMC,QAAQH,GAC7B,OAAOL,EAAeI,EAAKE,SAASD,MAAM,EAG9CnB,EAAOC,QAAUsB,UACb,MAAMC,QAAatB,EAAO,4BAA2BuB,KAC/CC,QAAgBF,EAAKG,OAAOC,OAAM,KAAM,IACxCV,EAAOQ,GAAWA,EAAQD,GAGhC,IAAKP,IAASA,EAAKW,QACf,OAAO,EAGX,MAAMC,EAASf,EAAoB,CAC/BgB,KAAMb,EAAKc,QACXC,IAAKf,EAAKe,IACVC,KAAMhB,EAAKiB,QACXhB,MAAOF,EAAeC,KAI1B,OAAOF,EAAiBc,EAAO,kBC3BnC,MAAMM,EAAavB,EAAQ,MACrBwB,EAAcxB,EAAQ,MACtByB,EAAczB,EAAQ,OACtB,oBAAEE,EAAmB,iBAAEC,GAAqBH,EAAQ,KAW1Db,EAAOC,QAAUsB,MAAOE,EAAOc,GAAQ,KAEnC,MAAMC,QAAaJ,EAAWX,GAG9B,GAAIe,GAAQD,EAAO,OAAOC,EAG1B,MAAMC,QAAcJ,EAAYZ,GAGhC,GAAIgB,GAASF,EAAO,OAAOE,EAG3B,MAAMC,QAAcJ,EAAYb,GAGhC,OAAIiB,GAASH,EAAcG,EA1BRC,KACnB,MAAMb,EAAS,CAAC,EAChB,IAAK,MAAMZ,KAAQyB,EACf,IAAK,MAAMhC,KAAOO,EACV0B,OAAOC,UAAUC,eAAeC,KAAK7B,EAAMP,IACvCO,EAAKP,KAASmB,EAAOnB,KAAMmB,EAAOnB,GAAOO,EAAKP,IAC9D,OAAOK,EAAiBD,EAAoBe,GAAQ,EAuB7CkB,CAAe,CAACR,GAAQ,CAAC,EAAGC,GAAS,CAAC,EAAGC,GAAS,CAAC,GAAG,kBClCjE,MAAMxC,EAAQW,EAAQ,OAChB,eAAEC,EAAc,oBAAEC,EAAmB,iBAAEC,GAAqBH,EAAQ,KAGpEoC,EAAeA,CAAClB,EAAMb,IAASA,EAAKgC,UAAYhC,EAAKgC,SAASC,QAAOC,GACvEA,EAAOC,OAASD,EAAOC,MAAMC,KAAIC,GAAQA,EAAKC,OAAOC,gBAAeC,SAAS3B,KAG3E4B,EAAcA,CAACP,EAAQQ,KACzB,GAAIR,GAAUA,EAAOS,YAAcxC,MAAMC,QAAQ8B,EAAOS,aAAeT,EAAOS,WAAWC,OAAS,EAAG,CACjG,MAAMC,EAAWX,EAAOS,WAAW,GAAGG,MAAKC,GAAQA,EAAK,KAAOL,IAC/D,GAAIG,GAAY1C,MAAMC,QAAQyC,IAAaA,EAASD,OAAS,EAAG,OAAOC,EAAS,EACpF,GAIEG,EAAiBA,CAACnC,EAAMb,KAC1B,MAAMgC,EAAWD,EAAalB,EAAMb,GACpC,GAAKgC,EAEL,OAAOpC,EAAeoC,EAASI,KAAIF,GAAUO,EAAYP,EAAQ,OAAUA,GAAUA,EAAOe,UAAY,GAAG,EAIzGC,EAAkBA,CAACrC,EAAMb,KAC3B,MAAMgC,EAAWD,EAAalB,EAAMb,GACpC,GAAKgC,EAEL,OAAOpC,EAAeoC,EAASI,KAAIF,GAAUO,EAAYP,EAAQ,YAAa,GAAG,EAI/EiB,EAAgBA,CAACtC,EAAMb,KACzB,IAAKA,EAAKoD,OAAQ,OAClB,MAAMC,EAAQrD,EAAKoD,OAAON,MAAKO,GAASA,EAAMC,YAAYhB,OAAOC,gBAAkB1B,IACnF,OAAKwC,GAAUA,EAAME,UACd,IAAIC,KAAKH,EAAME,gBADtB,CACgC,EAI9BE,EAAUzD,GAAQJ,GAAgBI,EAAK0D,8BAAgC,IAAItB,KAAIrB,GAAOA,EAAI4C,cAG1FC,EAAa5C,GAAQA,IAASA,EAAK6C,UAAY7C,EAAK8C,WAAa9C,EAAK4B,QACrE5B,EAAK6C,UAAY7C,EAAK8C,UAAY,IAAM9C,EAAK4B,OAAOe,gBACrDI,EAGAC,EAAWhE,GAAQJ,GAAgBI,EAAKiE,aAAe,IAAI7B,IAAIwB,GAAY3B,QAAOjB,QAAiB+C,IAAT/C,KAG1FjB,EAAiBC,IACnB,MAAMkE,EAAchB,EAAgB,QAASlD,GAC7C,GAAIkE,EAAa,OAAOA,EAExB,MAAMC,EAAoBpC,EAAa,YAAa/B,GACpD,OAAKmE,EAEEjB,EAAgB,QAAS,CAC5BlB,SAAUmC,EAAkB/B,KAAIF,GAAUA,EAAOF,WAAUoC,KAAK,GAAGnC,QAAOC,QAAqB6B,IAAX7B,WAHxF,CAIE,EAGNpD,EAAOC,QAAUsB,UACb,MAAMC,QAAatB,EAAO,6BAA4BuB,KAChDC,QAAgBF,EAAKG,OAAOC,OAAM,KAAM,IACxCV,EAAOQ,GAAWA,EAAQ6D,SAAW7D,EAAQ6D,QAAQ9D,GAG3D,IAAKP,IAASA,EAAKW,UAAYX,EAAKA,KAChC,OAAO,EAGX,MAAMY,EAASf,EAAoB,CAC/BgB,KAAMb,EAAKA,KAAKa,KAChByD,WAAYtB,EAAe,aAAchD,EAAKA,MAC9Ce,IAAK0C,EAAQzD,EAAKA,MAClBuE,UAAWvB,EAAe,YAAahD,EAAKA,MAC5CwE,aAAcrB,EAAc,eAAgBnD,EAAKA,MACjDyE,WAAYtB,EAAc,aAAcnD,EAAKA,MAC7CgB,KAAMgD,EAAShE,EAAKA,MACpBC,MAAOF,EAAeC,EAAKA,QAI/B,OAAOF,EAAiBc,EAAO,WCpFnC9B,EAAOC,QAAQa,eAAiB8E,GAAO,IAAI,IAAIC,IAAID,IAAME,KAAK,MAE9D,MAAMC,EAAUC,GAAQA,GAAS,GAAEA,IAAOxC,OAG1CxD,EAAOC,QAAQc,oBAAsBG,IAAQ,CACzCa,KAAgBgE,EAAQ7E,EAAKa,YAAkBkD,EAC/CO,WAAgBO,EAAQ7E,EAAKsE,kBAAkBP,EAC/ChD,IAAgB8D,EAAQ7E,EAAKe,WAAkBgD,EAC/CQ,UAAgBM,EAAQ7E,EAAKuE,iBAAkBR,EAC/CS,aAAgBxE,EAAKwE,mBAA0BT,EAC/CU,WAAgBzE,EAAKyE,iBAA0BV,EAC/C/C,KAAgB6D,EAAQ7E,EAAKgB,YAAkB+C,EAC/C9D,MAAgB4E,EAAQ7E,EAAKC,aAAkB8D,IAInDjF,EAAOC,QAAQe,iBAAmBE,IAAQ0B,OAAOqD,OAAO/E,GAAMgF,OAAMC,QAAWlB,IAANkB,KAA2BjF,kBClBpG,MAAMhB,EAAQW,EAAQ,OAChB,oBAAEE,EAAmB,iBAAEC,GAAqBH,EAAQ,KAEpDuF,EAAeC,GAAS,GAAEA,IAAO5C,cAAcD,OAAO8C,QAAQ,QAAS,KACvEC,EAAiBF,GAAS,GAAEA,IAAO7C,OAkDnCgD,EAAgBA,CAACC,EAAOvF,KAC1B,IAAK,MAAMa,KAAQ0E,EAAO,CACtB,MAAMC,EAAQxF,EAAK8C,MAAK0C,GAASA,EAAM/F,MAAQoB,IAC/C,GAAI2E,GAASA,EAAMC,MAAO,OAAOD,EAAMC,KAC3C,GAIEC,EAAoBA,CAACH,EAAOvF,KAC9B,MAAM2F,EAAYL,EAAcC,EAAOvF,GACvC,GAAK2F,EACL,OAAO,IAAInC,KAAKmC,EAAU,EAG9B7G,EAAOC,QAAUsB,UACb,MAAMC,QAAatB,EAAO,8BAA6BuB,KACjDC,QAAgBF,EAAKG,OAAOC,OAAM,KAAM,IAG9C,IAAKF,IAAYA,EAAQG,UAAYH,EAAQoF,IACzC,OAAO,EAGX,MAAM5F,EAvESmF,KAEf,MAAMU,EAAc,SACdC,EAAgB,QAAOD,KAGvBE,EAAe,IAAGD,uBAClBE,EAAa,GAAEF,WAFGD,OAAiBA,QAKnCI,EAAgB,GAAEF,IAAcC,IAChCE,EAAqB,IAAIC,OAAOF,EAAc,MAC9CG,EAAmB,IAAID,OAAOF,GAC9BI,EAAe,GAAEN,KAAeF,MAAgBG,IAChDM,EAAoB,IAAIH,OAAOE,EAAa,MAC5CE,EAAkB,IAAIJ,OAAOE,GAG7BG,EAAoBrB,EAAKsB,MAAMP,IAAuB,GACtDQ,EAAmBvB,EAAKsB,MAAMH,IAAsB,GACpDK,EAAU,GAGhB,IAAK,MAAMC,KAAYJ,EAAmB,CACtC,MAAMC,EAAQG,EAAStE,OAAOmE,MAAML,GACpCO,EAAQE,KAAK,CACTpH,IAAKyF,EAAauB,EAAM,IACxBhB,MAAOJ,EAAeoB,EAAM,KAEpC,CAGA,IAAK,MAAMG,KAAYF,EAAkB,CACrC,GAAIF,EAAkBpE,KAAI0E,GAAmBF,EAASpE,SAASsE,KAAkBtE,UAAS,GACtF,SAEJ,MAAMiE,EAAQG,EAAStE,OAAOmE,MAAMF,GACpCI,EAAQE,KAAK,CACTpH,IAAKyF,EAAauB,EAAM,IACxBhB,MAAOJ,EAAeoB,EAAM,KAEpC,CAGA,OAAOE,CAAO,EA2BDI,CAAWvG,EAAQoF,KAChC,IAAK5F,EACD,OAAO,EAGX,MAAMY,EAASf,EAAoB,CAC/ByE,WAAYgB,EAAc,CAAC,cAAetF,GAC1CuE,UAAWe,EAAc,CAAC,YAAa,gBAAiBtF,GACxDwE,aAAckB,EAAkB,CAAC,gBAAiB,UAAW,iBAAkB1F,GAC/EyE,WAAYiB,EAAkB,CAAC,uBAAwB,eAAgB1F,GACvEC,MAAOqF,EAAc,CAAC,iCAAkCtF,KAI5D,OAAOF,EAAiBc,EAAO,+BC1EnC,MAAMoG,EAAe,EAAQ,MACvBC,EAAU,EAAQ,MAElBC,EAAaC,GAAOA,EAAGC,MAAM,KAAKC,UAAUzC,KAAK,KAEjD0C,EAAiBjH,MAAOQ,EAAM0G,EAAWC,KAC3C,MAAMC,QAAY,EAAIR,EAAQS,SAAS,GAAG7G,KAAQ0G,IAAa,KAC/D,GAAKE,EAAIE,WAEEF,EAAIhH,QAAQmH,OAAQ,CAC3B,MAAMtH,EAAO,CAAC,EAEd,OADAA,EAAKkH,GAAQD,EACNjH,CACX,GAEEuH,EAAqBV,IACvB,MAAMW,EAAW,GACjB,IAAK,MAAMP,KAAaP,EAAae,aACjCD,EAASjB,KAAKS,EAAeJ,EAAUC,GAAKI,EAAW,OAE3D,OAAOO,CAAQ,EA6BnB/I,EAAQ,EAnBcsB,MAAO8G,EAAIa,KAC7B,MAAMC,EAAa,CACfd,GAAI,GACJa,OAAQ,IAENF,EAAW,IAAID,EAAkBV,IAYvC,OAXIa,GACAF,EAASjB,QAfa,CAACmB,IAC3B,MAAMF,EAAW,GACjB,IAAK,MAAMP,KAAaP,EAAakB,iBACjCJ,EAASjB,KAAKS,EAAeU,EAAQT,EAAW,WAEpD,OAAOO,CAAQ,EAUMK,CAAsBH,WACxBI,QAAQC,IAAIP,IAC1BQ,SAAQxD,IACJA,IAEDA,EAAKqC,IACLc,EAAWD,OAAOnB,KAAK/B,EAAKqC,IAC5BrC,EAAKkD,QACLC,EAAWD,OAAOnB,KAAK/B,EAAKkD,QAAO,IAEpCC,CAAU,6BChDrBvG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAQmJ,iBAAmBnJ,EAAQgJ,kBAAe,EAClDhJ,EAAQgJ,aAAe,CACnB,mBACA,mBACA,mBACA,kBACA,qBAEJhJ,EAAQmJ,iBAAmB,CACvB,mBACA,YACA,kDCXJ,MAAMM,EAAS,EAAQ,MACvBzJ,EAAQ,EAAU,CACd0J,EAAGD,EAAOd,QAAQ1H,KAAK0I,MAAMD,EAC7BE,IAAKH,EAAOd,QAAQ1H,KAAK0I,MAAMC,IAC/BC,IAAKJ,EAAOd,QAAQ1H,KAAK0I,MAAME,IAC/BC,IAAKL,EAAOd,QAAQ1H,KAAK0I,MAAMG,IAC/BC,EAAGN,EAAOd,QAAQ1H,KAAK0I,MAAMI,EAC7BC,KAAMP,EAAOd,QAAQ1H,KAAK0I,MAAMK,KAChCC,MAAOR,EAAOd,QAAQ1H,KAAK0I,MAAMM,MACjCC,GAAIT,EAAOd,QAAQ1H,KAAK0I,MAAMO,GAC9BC,GAAIV,EAAOd,QAAQ1H,KAAK0I,MAAMQ,GAC9BC,GAAIX,EAAOd,QAAQ1H,KAAK0I,MAAMS,GAC9BC,GAAIZ,EAAOd,QAAQ1H,KAAK0I,MAAMU,8BCZlC,MAKMC,EAAU,IAAIC,IACpBD,EAAQE,IANkB,yBAMK,gBAC/BF,EAAQE,IANgB,uBAMK,cAC7BF,EAAQE,IANe,6BAMK,aAC5BF,EAAQE,IANa,mBAMK,WAC1BxK,EAAQ,EAAUsK,+BCVlB,MAAMb,EAAS,EAAQ,MACvBzJ,EAAQ,EAAU,CACdyK,IAAKhB,EAAOd,QAAQ1H,KAAKyJ,cAAcD,gCCH3C9H,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,8HCDlB2C,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd2K,EAAG,oFACHC,KAAM,uFACNC,MAAO,wFACPC,GAAI,qFACJC,IAAK,sFACLC,GAAI,qFACJC,IAAK,sFACLC,IAAK,gHCTTvI,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,mFCDlB2C,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,yFCAlB,MAAMmL,EAAiB,EAAQ,MACzBC,EAAe,EAAQ,MACvBC,EAAc,EAAQ,MACtBC,EAAY,EAAQ,IACpBC,EAAkB,EAAQ,MAC1BC,EAAY,EAAQ,MACpBC,EAAsB,EAAQ,MAC9BC,EAAwB,EAAQ,MACtC1L,EAAQ,EAAU,CACd2L,WAAYP,EAAazC,QAASiD,aAAcT,EAAexC,QAASkD,UAAWR,EAAY1C,QAASmD,QAASR,EAAU3C,QAASoD,cAAeR,EAAgB5C,QAASqD,QAASR,EAAU7C,QAASsD,iBAAkBR,EAAoB9C,QAASuD,mBAAoBR,EAAsB/C,oCCVrShG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd2K,EAAG,2HACHC,KAAM,+BCHVjI,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,gICDlB2C,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,0GCDlB2C,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,+FCDlB2C,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAM+C,EAAS,EAAQ,MACvBzJ,EAAA,QAAkB,CACd2K,EAAG,CACCwB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQK,EAClCyB,IAAK,+DACLC,aAAa,GAEjBtB,IAAK,CACDoB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQS,IAClCqB,IAAK,oDACLE,sBAAwBrL,GAASA,EAAKsL,WAAW,KAAQtL,EAAKuL,OAAO,GAAGC,MAAM,GAAI,GAAKxL,GAE3F6J,GAAI,CACAqB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQQ,GAClCsB,IAAK,0CACLE,sBAAwBrL,GAASA,EAAKyL,SAAS,KAAOzL,EAAKwL,MAAM,GAAI,GAAKxL,EAC1EoL,aAAa,GAEjBzB,KAAM,CACFuB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQM,KAClCwB,IAAK,+EACLC,aAAa,GAEjBxB,MAAO,CACHsB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQO,MAClCuB,IAAK,mDACLC,aAAa,GAEjBnB,IAAK,CACDiB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQY,IAClCkB,IAAK,gEAETpB,GAAI,CACAmB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQU,GAClCoB,IAAK,qEACLE,sBAAwBrL,GAASA,EAAKyL,SAAS,KAAOzL,EAAKwL,MAAM,GAAI,GAAKxL,EAC1EoL,aAAa,GAEjBpB,IAAK,CACDkB,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQW,IAClCmB,IAAK,4CAETO,MAAO,CACHR,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQqC,MAClCP,IAAK,+BAETQ,MAAO,CACHT,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQsC,MAClCR,IAAK,8CAETS,KAAM,CACFV,KAAM1C,EAAOd,QAAQ1H,KAAKqJ,QAAQuC,KAClCT,IAAK,uECpDb,MAKM9B,EAAU,IAAIC,IACpBD,EAAQE,IANmB,2BAMK,iBAChCF,EAAQE,IANa,mBAMK,WAC1BF,EAAQE,IANsB,4BAMK,oBACnCF,EAAQE,IANe,qBAMK,sBAC5BxK,EAAQ,EAAUsK,+BCVlB,MAAMb,EAAS,EAAQ,MACvBzJ,EAAQ,EAAU,CACd,2BAA4ByJ,EAAOd,QAAQ1H,KAAK6L,IAAIC,OACpD,sBAAuBtD,EAAOd,QAAQ1H,KAAK6L,IAAIE,OAC/C,GAAMvD,EAAOd,QAAQ1H,KAAK6L,IAAIG,KAC9B,4BAA6BxD,EAAOd,QAAQ1H,KAAK6L,IAAII,QACrD,kCAAmCzD,EAAOd,QAAQ1H,KAAK6L,IAAIK,WAC3D,iCAAkC1D,EAAOd,QAAQ1H,KAAK6L,IAAIK,WAC1D,wBAAyB1D,EAAOd,QAAQ1H,KAAK6L,IAAIM,SACjD,kCAAmC3D,EAAOd,QAAQ1H,KAAK6L,IAAIO,WAC3D,4BAA6B5D,EAAOd,QAAQ1H,KAAK6L,IAAIQ,QACrD,4BAA6B7D,EAAOd,QAAQ1H,KAAK6L,IAAIS,QACrD,+BAAgC9D,EAAOd,QAAQ1H,KAAK6L,IAAIU,SACxD,sBAAuB/D,EAAOd,QAAQ1H,KAAK6L,IAAIW,OAC/C,SAAYhE,EAAOd,QAAQ1H,KAAK6L,IAAIY,SACpC,SAAUjE,EAAOd,QAAQ1H,KAAK6L,IAAIa,kCCftC,MAAMC,EAAY,EAAQ,KACpBC,EAAa,GACnB,IAAK,MAAMC,KAAaF,EAAUjF,QAAS,CACvC,MAAMoF,EAASH,EAAUjF,QAAQmF,GACjCD,EAAW/F,KAAK,CACZhG,KAAMgM,EACNE,YAAaD,EAAO5B,KACpBC,IAAK2B,EAAO3B,IACZC,YAAa4B,QAAQF,EAAO1B,cAEpC,CACArM,EAAQ,EAAU6N,6BC3BlBlL,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdkO,MAAO,QACP5D,QAAS,UACT6D,KAAM,mCCJVxL,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd0J,EAAG,8JACHE,IAAK,mFACLC,IAAK,oFACLC,IAAK,6EACLC,EAAG,kTACHC,KAAM,uRACNC,MAAO,yRACPC,GAAI,2SACJC,GAAI,6bACJC,GAAI,2IACJC,GAAI,sJCZR1H,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAM0H,EAAQ,EAAQ,MAChBC,EAAU,EAAQ,MAClBT,EAAY,EAAQ,MACpBU,EAAoB,EAAQ,MAClCtO,EAAA,QAAkB,CACd8M,IAAKsB,EAAMzF,QAAS2B,QAASsD,EAAUjF,QAAS+B,cAAe4D,EAAkB3F,QAASgB,MAAO0E,EAAQ1F,oCCN7GhG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdyK,IAAK,kJCFT9H,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd2K,EAAG,0MACHI,IAAK,0GACLD,GAAI,qIACJF,KAAM,2HACNC,MAAO,mHACPK,IAAK,sHACLF,GAAI,4QACJC,IAAK,kLACL0B,MAAO,kMACPC,MAAO,gEACPC,KAAM,wGCZVlK,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdmN,WAAY,gHACZF,KAAM,8DACNC,QAAS,8FACTS,IAAK,0JACLD,SAAU,8DACVD,OAAQ,2DACRD,SAAU,6DACVD,QAAS,4DACTD,QAAS,gEACTD,WAAY,kEACZD,SAAU,wEACVJ,OAAQ,uEACRD,OAAQ,oGCdZpK,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAM6H,EAAc,EAAQ,MACtBC,EAAS,EAAQ,MACjBC,EAAW,EAAQ,MACzBzO,EAAA,QAAkB,CAAE0O,UAAWH,EAAY5F,QAAS1H,KAAMuN,EAAO7F,QAASgG,OAAQF,EAAS9F,oCCJ3FhG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd4O,MAAO,aACPZ,YAAa,4GACba,aAAc,qBACdC,YAAa,wBACb7F,OAAQ,yCCNZtG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd+O,gBAAiB,mBACjBC,kBAAmB,wDCHvBrM,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd4O,MAAO,qBACPK,MAAO,2bAGPC,UAAW,wDCNfvM,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd4O,MAAO,0BACPO,MAAO,iBACPC,KAAM,aACNC,KAAM,OACNC,SAAU,iDCNd3M,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACduP,MAAO,yCACPC,SAAU,6CACVN,UAAW,qCACXO,UAAW,uFCLf9M,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAMgJ,EAAQ,EAAQ,MAChBC,EAAU,EAAQ,MAClBC,EAAiB,EAAQ,MACzBhC,EAAY,EAAQ,MACpBiC,EAAqB,EAAQ,MAC7BC,EAAU,EAAQ,MAClBC,EAAsB,EAAQ,MAC9BC,EAA2B,EAAQ,MACnCC,EAAa,EAAQ,MACrBC,EAAoB,EAAQ,KAC5BC,EAAoB,EAAQ,MAClCnQ,EAAA,QAAkB,CACdoQ,IAAKV,EAAM/G,QAAS0H,MAAOV,EAAQhH,QAAS2H,YAAaV,EAAejH,QAAS2B,QAASsD,EAAUjF,QAAS4H,gBAAiBV,EAAmBlH,QACjJnG,MAAOsN,EAAQnH,QAAS6H,iBAAkBT,EAAoBpH,QAAS8H,qBAAsBT,EAAyBrH,QACtH+H,QAAST,EAAWtH,QAASgI,eAAgBT,EAAkBvH,QAASiI,eAAgBT,EAAkBxH,oCCf9GhG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd6Q,WAAY,8CACZC,eAAgB,sCAChBC,UAAW,2BACXC,cAAe,2DCLnBrO,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdiR,SAAU,4iDAmBVrC,MAAO,8CCrBXjM,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdkR,gBAAiB,mBACjBC,iBAAkB,gCAClBC,aAAc,4BACdC,WAAY,+BACZC,OAAQ,uDCNZ3O,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdkP,UAAW,aACXqC,UAAW,2CACXC,YAAa,oDACbC,SAAU,6DACVC,gBAAiB,mHACjBC,cAAe,sNAEfC,gBAAiB,kFCTrBjP,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd6R,SAAU,eACVC,SAAU,2CCHdnP,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd+R,QAAS,wBACTC,aAAc,gBACdC,MAAO,QACPC,aAAc,8CCLlBvP,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAEMyL,EAAQ,CAAEC,GAFH,EAAQ,MAEIzJ,SACzB3I,EAAA,QAAkBmS,EAAU,gCCY5BnS,EAAQ,GAAmBA,EAAQ,GAAqBA,EAAQ,QAAU,EAC1E,MAAM4N,EAAY,EAAQ,KAC1B5N,EAAQ,GAAU,IAAIuK,IACtB,MAAM8H,EAAUpR,IACZ,MAAMqR,EAAiB,GACvB,IAAK,MAAM5R,KAAOiC,OAAO4P,KAAKtR,GAAO,CACjC,MAAMyF,EAAQzF,EAAKP,GACnB4R,EAAexK,KAAK,GAAGpH,EAAI,GAAG8R,gBAAgB9R,EAAI8L,OAAO,OAAO9F,IACpE,CACA,OAAO4L,EAAezM,KAAK,MAAM,EAuBrC7F,EAAQ,GArBoByS,IACxB,IAAIC,EAAS,GACb,IAAK,MAAMhS,KAAOiC,OAAO4P,KAAK3E,EAAUjF,SAAU,CAC9C,MAAMjC,EAAQ1G,EAAQ,GAAR,IAAoBU,GAClC,IAAKgG,EACD,SACJ,IAAK+L,EAAehP,SAAS/C,GACzB,SAEJ,IAAIiS,EAAY,QAChB,GAAIjM,EAAMmC,OAAQ,CACd8J,EAAY,GACZ,IAAK,MAAMC,KAAelM,EAAMmC,OAAQ,CACpC,MAAMgK,EAASnM,EAAMmC,OAAO+J,GAC5BD,GAAa,MAAMC,MAAgBP,EAAOQ,IAC9C,CACJ,CACAH,GAAU,GAAGhS,aAAeiS,kBAChC,CACA,OAAOD,CAAM,EAmCjB1S,EAAQ,GAhCkByS,IACtB,IAAIC,EAAS,GACb,IAAK,MAAMhS,KAAOiC,OAAO4P,KAAK3E,EAAUjF,SAAU,CAC9C,MAAMjC,EAAQ1G,EAAQ,GAAR,IAAoBU,GAClC,IAAKgG,EACD,SACJ,IAAK+L,EAAehP,SAAS/C,GACzB,SAEJ,IAAIiS,EAAY,wBAChB,GAAIjM,EAAMmC,OAAQ,CACd,MAAMiK,EAAkBnQ,OAAO4P,KAAK7L,EAAMmC,OAAO,IAC3C0J,EAAO,GACPQ,EAAW,GACjB,IAAK,MAAMrS,KAAOoS,EAAiB,CAC/B,MAAME,EAAY,GAAGtS,EAAI8L,OAAO,EAAG,GAAGgG,gBAAgB9R,EAAI8L,OAAO,KACjE+F,EAAKzK,KAAKkL,GACVD,EAASjL,KAAK,IAAImL,OAAOD,EAAUnP,OAAS,GAChD,CACA8O,EAAY,KAAKJ,EAAK1M,KAAK,cAAckN,EAASlN,KAAK,UACvD,IAAK,MAAMgN,KAAUnM,EAAMmC,OAAQ,CAC/B,MAAMqK,EAAQ,GACd,IAAK,MAAMC,KAAQxQ,OAAOqD,OAAO6M,GAC7BK,EAAMpL,KAAKsL,OAAOD,IAEtBR,GAAa,KAAKO,EAAMrN,KAAK,YACjC,CACJ,CACA6M,GAAU,KAAKhS,gBAAkBiS,KACrC,CACA,OAAOD,CAAM,6BC9DjB,MAAMW,EAAiB,CACnB,0BACA,MACA,iBACA,QACA,WAEEC,EAAmB,CACrB,0BACA,QACA,WAGEC,EAAY,CACd,gBACA,iCACA,yBACA,6BAEEC,EAAe,CACjB,uBACA,iDAEEC,EAAmB,CACrB,gBACA,iCACA,0BAGJzT,EAAQ,EAAU,CAACU,EAAKgB,EAAMgS,EAAoBC,EAAeC,KAE7D,GAAY,OAARlT,EACA,IAAK,MAAMqN,KAAUrM,EAAKmH,OAAQ,CAC9B,MAAMgL,EAAY9F,EAAO9M,KAAKoH,MAAM,KACX,IAArBwL,EAAUhQ,SACVkK,EAAO9M,KAAO4S,EAAU,GACxB9F,EAAO+F,SAAWC,OAAOF,EAAU,IAE3C,MAEC,GAAY,UAARnT,EAAiB,CACtB,MAAMsT,EAAa,GACnB,IAAK,MAAMjG,KAAUrM,EAAKmH,OAAQ,CAC9B,MACMgL,GADa9F,EAAO9M,KAAKsL,WAAW,KAAQwB,EAAO9M,KAAKuL,OAAO,GAAGC,MAAM,GAAI,GAAKsB,EAAO9M,MACjEoH,MAAM,KACnC,IAAK,MAAM4L,KAAYJ,EACF,KAAbI,GAEJD,EAAWlM,KAAK,CACZhG,KAAMiM,EAAOjM,KACb2I,IAAKsD,EAAOtD,IACZxJ,KAAMgT,EACNxL,UAAMzD,GAGlB,CACAtD,EAAKmH,OAASmL,CAClB,MACK,GAAY,UAARtT,EAAiB,CACtB,MAAMsT,EAAa,GACnB,IAAK,MAAMjG,KAAUrM,EAAKmH,OAAQ,CAC9B,MAAMgL,EAAY9F,EAAO9M,KAAKoH,MAAM,KACpC2L,EAAWlM,KAAK,CACZhG,KAAMiM,EAAOjM,KACboS,UAAWb,EAAeU,OAAOF,EAAU,MAAQ,UACnD,mBAAoBP,EAAiBS,OAAOF,EAAU,MAAQ,UAC9DM,YAAaN,EAAU,GACvBpJ,IAAKsD,EAAOtD,IACZhC,UAAMzD,GAEd,CACAtD,EAAKmH,OAASmL,CAClB,MACK,GAAY,SAARtT,EAAgB,CACrB,MAAMsT,EAAa,GACnB,IAAK,MAAMjG,KAAUrM,EAAKmH,OAAQ,CAC9B,MAAMgL,EAAY9F,EAAO9M,KAAKoH,MAAM,KACpC2L,EAAWlM,KAAK,CACZhG,KAAMiM,EAAOjM,KACbsS,MAAOb,EAAUQ,OAAOF,EAAU,MAAQ,UAC1CQ,SAAUb,EAAaO,OAAOF,EAAU,MAAQ,UAChD,gBAAiBJ,EAAiBM,OAAOF,EAAU,MAAQ,UAC3DM,YAAaN,EAAU,GACvBpJ,IAAKsD,EAAOtD,IACZhC,UAAMzD,GAEd,CACAtD,EAAKmH,OAASmL,CAClB,MACK,GAAY,QAARtT,EACL,IAAK,MAAMqN,KAAUrM,EAAKmH,OAAQ,CAC9B,MAAMyL,EAAkBvG,EAAO9M,KAAKoH,MAAMuL,GAC1C,GAAIU,EAAgBzQ,OAAS,EAA7B,CACI,MAAM0Q,EAAmB,GAAGD,EAAgB,GAAG9H,OAAO,GAAGD,WAAW,KAAO+H,EAAgB,GAAG9H,OAAO,GAAK8H,EAAgB,GAAG9H,OAAO,MAAMuB,EAAOjM,QAAQiM,EAAOtD,MAC5JiJ,EAAmBa,GACnBb,EAAmBa,IAAqB,KAAKxG,EAAO9M,OAGpDyS,EAAmBa,GAAoBxG,EAAO9M,YAE3CS,EAAKmH,OAAOkF,EAEvB,CACJ,MAEC,GAAY,QAARrN,EACL,IAAK,MAAMqN,KAAUrM,EAAKmH,OAAQ,CAC9B,MAAMgL,EAAY9F,EAAO9M,KAAKoH,MAAM,KAAKC,UACzCyF,EAAO+F,SAAWD,EAAUW,MAC5BzG,EAAO0G,OAASZ,EAAUW,MAC1BzG,EAAO2G,KAAOb,EAAUW,MACxBzG,EAAOvN,OAASqT,EAAUvL,UAAUzC,KAAK,YAClCkI,EAAO9M,IAClB,CAGJS,EAAKmH,OAAO8L,MAAK,CAACC,EAAGC,IACbD,EAAEd,SACKc,EAAEd,SAAWe,EAAEf,SAEtBc,EAAEnK,IACKoK,EAAEpK,IAAMmK,EAAEnK,SADrB,IAKJ,IAAK,MAAMsD,KAAUrM,EAAKmH,OAAQ,QACvBkF,EAAOtF,KACd,MAAMqM,EAAanS,OAAO4P,KAAKxE,GAC/B,IAAK,MAAMgH,KAAmBD,EAAY,CACtC,MAAMhH,EAAY,GAAGiH,EAAgB,GAAGvC,gBAAgBuC,EAAgBvI,OAAO,KAC3EmH,EAAc7F,GACd6F,EAAc7F,GAAWhG,KAAKiG,EAAOgH,IAGrCpB,EAAc7F,GAAa,CAACC,EAAOgH,GAE3C,CACJ,8BC1IJ/U,EAAQ,OAAuB,EAW/BA,EAAQ,EATsBkT,IAC1B,IAAI8B,EAAoB,EACxB,IAAK,MAAM7B,KAAQD,EACXC,EAAKtP,OAASmR,IACdA,EAAoB7B,EAAKtP,QAGjC,OAAOmR,CAAiB,+BCT5B,MAAMC,EAAiB,EAAQ,KAC/BjV,EAAQ,EAAUsB,MAAO8G,SACR,EAAI6M,EAAetM,SAAS,kCAAkCP,SAAW,CAClF8M,QAAS,CACLC,OAAQ,mDCJpB,MAAMF,EAAiB,EAAQ,KAC/BjV,EAAQ,EAAUsB,MAAOQ,EAAM2G,UACd,EAAIwM,EAAetM,SAAS,mCAAmCyM,mBAAmBtT,WAAcsT,mBAAmB3M,mCCApI,MAAMjG,EAAQ,EAAQ,MACtBxC,EAAQ,EAAUsB,MAAOE,SACRgB,EAAM4S,mBAAmB5T,IAAQ,8BCpBlDmB,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACdkO,MAAO,QACPW,aAAc,SACdwG,kBAAmB,gCACnBC,cAAe,oECLnB3S,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAM6H,EAAc,EAAQ,MACtBE,EAAW,EAAQ,MACzBzO,EAAA,QAAkB,CAAE2O,OAAQF,EAAS9F,QAAS+F,UAAWH,EAAY5F,oCCHrEhG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACd4O,MAAO,6DCFXjM,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAkB,CACduV,IAAK,4PCFT5S,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAM8O,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,MAC9BzV,EAAA,QAAkB,CAAE0V,OAAQF,EAAS7M,QAASgN,WAAYF,EAAc9M,sCCHxEhG,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAEMyL,EAAQ,CAAEC,GAFH,EAAQ,MAEIzJ,SACzB3I,EAAA,QAAkBmS,EAAU,6BCgB5B,IAAIyD,EALJjT,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAQ6V,sBAAmB,EAW3B7V,EAAQ6V,iBALiB,KACjBD,GACAA,EAAWE,QACfF,EAAa,IAAIG,eAAiB,GAItC,EAAI/V,EAAQ6V,oBAEZ7V,EAAA,QAAkB,CAACgW,EAAOC,IAAS,IAAI5M,SAAQ/H,MAAOoH,EAAKwN,KAEvD,IAAIC,EAAiB,EAErB,OAAS,CAEL,IAAIC,EAsBAC,EArBJ,SACiBrR,IAATiR,EACAA,EAAO,CACHK,OAAQV,EAAWU,QAIvBL,EAAKK,OAASV,EAAWU,OAE7BF,QAAUnW,MAAM+V,EAAOC,EAC3B,CACA,MAAOM,GAIH,MAFe,eAAXA,EAAEzU,MACF0U,QAAQrK,KAAK,cAAc6J,kBACxBE,EAAIK,EACf,CAEA,GAAiB,MAAbH,EAAEK,QAAiD,IAA/BC,KAAKC,MAAMP,EAAEK,OAAS,KAC1C,OAAO/N,EAAI0N,GAGf,MAAMQ,EAAoB,KACtBT,GAAkB,EACdA,EA5CG,KA6CHK,QAAQK,KAAK,4BAA4Bb,8CAClCtN,EAAI0N,IAERD,GAELW,EAAIV,EAAElB,QAAQ6B,IAAI,eACxB,GAAID,EAAG,CACH,MAAME,EAAejD,OAAO+C,GAC5B,GAAIG,MAAMD,GAEN,IACI,MAAME,EAAI,IAAIzS,KAAKqS,GACnB,GAAIG,MAAMC,EAAEC,WACR,MAAM,IAAItX,MAEdwW,EAAUK,KAAKC,OAAOO,EAAEC,WAAY,IAAK1S,MAAQ0S,WAAa,IAClE,CACA,MAAOC,GAEH,MAAMvC,EAAI+B,IACV,IAAK/B,EACD,OACJwB,EAAUxB,CACd,MAGAwB,EAAUW,CAElB,KACK,CACD,MAAMnC,EAAI+B,IACV,IAAK/B,EACD,OACJwB,EAAUxB,CACd,CAEA2B,QAAQK,KAAK,GAAGb,2BAA+BI,EAAEK,2BAA2BJ,sBAEtE,IAAIhN,SAAQnD,GAAKmR,WAAWnR,EAAa,IAAVmQ,IACzC,kCCvFJ1T,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD,MAAMuO,EAAiB,EAAQ,KAC/BjV,EAAA,QAAkBsB,MAAOQ,EAAM2G,UACd,EAAIwM,EAAetM,SAAS,6CAA6CyM,mBAAmBtT,WAAcsT,mBAAmB3M,KAAS,CAC/IyM,QAAS,CACLC,OAAQ,qDCLpBxS,OAAO6G,eAAexJ,EAAS,aAAc,CAAE0G,OAAO,IACtD1G,EAAA,QAAmBoG,IACH,CACR,CAAC,KAAM,QACP,CAAC,KAAM,QACP,CAAC,KAAM,SACP,CAAC,KAAM,UAEPmD,SAAQxD,IACRK,EAAOA,EAAKC,QAAQN,EAAK,GAAIA,EAAK,GAAG,IAElCK,8BCVXpG,EAAQ,GAAmBA,EAAQ,QAAe,EAMlDA,EAAQ,GALa,CAACsX,EAAKC,KACvBD,EAAMZ,KAAKc,KAAKF,GAChBC,EAAMb,KAAKC,MAAMY,GACVb,KAAKC,MAAMD,KAAKe,UAAYF,EAAMD,EAAM,IAAMA,GAezDtX,EAAQ,GAZiB,CAACsX,EAAKC,EAAKG,EAAO,KAChC,CACHC,OAAQ,GAAGD,MACXE,OAAkB,IAAPF,EAAH,OACRG,WAAY,eAAc,EAAI7X,EAAQ,IAAc,GAAI,QACxD8X,aAAwB,GAAPJ,EAAH,KACdK,MAAO,IAAG,EAAI/X,EAAQ,IAAcsX,EAAKC,OACzCS,QAAS,IAAG,EAAIhY,EAAQ,IAAc,GAAI,IAAM,IAChDiY,eAAgB,IAAG,EAAIjY,EAAQ,IAAc,EAAG,SAChDkY,kBAAmB,IAAG,EAAIlY,EAAQ,IAAc,IAAK,yCChB7D,MAAMkI,EAAU,EAAQ,MAClBiQ,EAAa,EAAQ,MACrB1O,EAAS,EAAQ,MACjB2O,EAAa,sBACbC,EAAa,aACnBrY,EAAQ,EAAUsB,MAAOQ,IAErB,MAAMwW,EAAaF,EAAWG,KAAKzW,EAAK0B,eACxC,GAAmB,OAAf8U,EACA,MAAO,CAAC,KAAM7O,EAAOd,QAAQgG,OAAO2G,eAExC,MAAMlP,EAAOkS,EAAW,GAAKA,EAAW,GAAGjS,QAAQ,MAAO,IAAM,GAChE,IAAKD,EAAKsB,MAAM2Q,GACZ,MAAO,CAAC,KAAM5O,EAAOd,QAAQgG,OAAO2G,eAExC,MAAMkD,QAAqB,EAAItQ,EAAQS,SAASvC,EAAM,QACtD,IAAI1E,EACJ,IACIA,QAAa8W,EAAa9W,MAC9B,CACA,MAAO+W,GAGH,MAAO,CAAC,KAAMhP,EAAOd,QAAQgG,OAAO2G,cACxC,CACA,GAAoB,IAAhB5T,EAAKgX,OAAc,CACnB,IAAIC,EAAMlP,EAAOd,QAAQgG,OAAO2G,cAGhC,OAFI5T,EAAKkX,UACLD,GAAO,WAAU,EAAIR,EAAWxP,SAASjH,EAAKkX,QAAQhU,eACnD,CAAC,KAAM+T,EAClB,CAEA,MAAO,CAACvS,EAAM,KAAK,IChDnByS,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB/T,IAAjBgU,EACH,OAAOA,EAAahZ,QAGrB,IAAID,EAAS8Y,EAAyBE,GAAY,CAGjD/Y,QAAS,CAAC,GAOX,OAHAiZ,EAAoBF,GAAUhZ,EAAQA,EAAOC,QAAS8Y,GAG/C/Y,EAAOC,OACf,CCtBA8Y,EAAoBI,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAChB,CAAE,MAAO9C,GACR,GAAsB,iBAAX5W,OAAqB,OAAOA,MACxC,CACA,CAPuB,QCEO,IAAxBmZ,GAAuCnW,OAAO6G,eAAesP,EAAqB,IAAK,CAC5F/B,IAAK,WACP,IACE,GAAyC,mBAA9BuC,0BACT,MAAM,IAAIzZ,MAAM,sKAElB,OAAOyZ,2BACT,CAAE,MAAO/C,GAIP,MAAO,IACT,CACC,EACC/L,IAAK,SAAU+O,GACb/C,QAAQK,KAAK,kGAAoG0C,EAAiB,IACtI,UCFA,MAAMC,EAAiBC,SAASC,cAAcC,IAAItR,MAAM,KAAKoE,MAAM,GAAI,GAAG5G,KAAK,KAAO,IACtFlG,OAAO2Z,0BAA4B,KAC/B9C,QAAQrK,KAAM,SAAQqN,gCACfA,0BCnBX,SAASI,EAAQC,EAAKC,GACpB,MAAMzW,EAAsBV,OAAOoX,OAAO,MACpCC,EAAOH,EAAIxR,MAAM,KACvB,IAAK,IAAI4R,EAAI,EAAGA,EAAID,EAAKnW,OAAQoW,IAC/B5W,EAAI2W,EAAKC,KAAM,EAEjB,OAAOH,EAAoBnZ,KAAU0C,EAAI1C,EAAI6C,eAAkB7C,KAAU0C,EAAI1C,EAC/E,CAEA,MAAMuZ,EAA4E,CAAC,EAC7EC,EAA4E,GAC5EC,EAAOA,OAEPC,EAAKA,KAAM,EACXC,EAAO,YACPC,EAAQ7Z,GAAQ4Z,EAAKE,KAAK9Z,GAC1B+Z,EAAmB/Z,GAAQA,EAAI6L,WAAW,aAC1CmO,EAAS/X,OAAOgY,OAChBC,EAASA,CAACjV,EAAKkV,KACnB,MAAMZ,EAAItU,EAAImV,QAAQD,GAClBZ,GAAK,GACPtU,EAAIoV,OAAOd,EAAG,EAChB,EAEIpX,EAAiBF,OAAOC,UAAUC,eAClCmY,EAASA,CAACra,EAAKD,IAAQmC,EAAeC,KAAKnC,EAAKD,GAChDW,EAAUD,MAAMC,QAChB4Z,EAASta,GAA8B,iBAAtBua,EAAava,GAC9Bwa,EAASxa,GAA8B,iBAAtBua,EAAava,GAG9Bya,EAAcza,GAAuB,mBAARA,EAC7B0a,EAAY1a,GAAuB,iBAARA,EAC3B2a,EAAY3a,GAAuB,iBAARA,EAC3B4a,EAAY5a,GAAgB,OAARA,GAA+B,iBAARA,EAC3C6a,EAAa7a,GACV4a,EAAS5a,IAAQya,EAAWza,EAAI8a,OAASL,EAAWza,EAAIgB,OAE3D+Z,EAAiB/Y,OAAOC,UAAUgC,SAClCsW,EAAgBxU,GAAUgV,EAAe5Y,KAAK4D,GAC9CiV,EAAajV,GACVwU,EAAaxU,GAAO+F,MAAM,GAAI,GAEjCmP,EAAiBjb,GAA8B,oBAAtBua,EAAava,GACtCkb,EAAgBnb,GAAQ2a,EAAS3a,IAAgB,QAARA,GAA4B,MAAXA,EAAI,IAAc,GAAKob,SAASpb,EAAK,MAAQA,EACvGqb,EAAiCnC,EAErC,uIAKIoC,EAAuBC,IAC3B,MAAMC,EAAwBvZ,OAAOoX,OAAO,MAC5C,OAAQF,GACMqC,EAAMrC,KACHqC,EAAMrC,GAAOoC,EAAGpC,GAChC,EAEGsC,EAAa,SACbC,EAAWJ,GAAqBnC,GAC7BA,EAAIxT,QAAQ8V,GAAY,CAAC/E,EAAGiF,IAAMA,EAAIA,EAAE7J,cAAgB,OAE3D8J,EAAc,aACdC,EAAYP,GACfnC,GAAQA,EAAIxT,QAAQiW,EAAa,OAAO9Y,gBAErCgZ,EAAaR,GAChBnC,GAAQA,EAAI4C,OAAO,GAAGjK,cAAgBqH,EAAIpN,MAAM,KAE7CiQ,EAAeV,GAClBnC,GAAQA,EAAO,KAAI2C,EAAW3C,KAAU,KAErC8C,EAAaA,CAACjW,EAAOkW,KAAcja,OAAOka,GAAGnW,EAAOkW,GACpDE,EAAiBA,CAACC,EAAKC,KAC3B,IAAK,IAAI/C,EAAI,EAAGA,EAAI8C,EAAIlZ,OAAQoW,IAC9B8C,EAAI9C,GAAG+C,EACT,EAEIC,EAAMA,CAACC,EAAKxc,EAAKgG,KACrB/D,OAAO6G,eAAe0T,EAAKxc,EAAK,CAC9Byc,cAAc,EACdC,YAAY,EACZ1W,SACA,EAEE2W,EAAiB1c,IACrB,MAAM2c,EAAIC,WAAW5c,GACrB,OAAOsW,MAAMqG,GAAK3c,EAAM2c,CAAC,EAErBE,EAAY7c,IAChB,MAAM2c,EAAIjC,EAAS1a,GAAOoT,OAAOpT,GAAO8c,IACxC,OAAOxG,MAAMqG,GAAK3c,EAAM2c,CAAC,EAE3B,IAAII,EACJ,MAAMC,EAAgBA,IACbD,IAAgBA,EAAoC,oBAAfvE,WAA6BA,WAA6B,oBAATzZ,KAAuBA,KAAyB,oBAAXC,OAAyBA,YAA2B,IAAXC,EAAAA,EAAyBA,EAAAA,EAAS,CAAC,GAyEhN,SAASge,EAAelX,GACtB,GAAIrF,EAAQqF,GAAQ,CAClB,MAAMgC,EAAM,CAAC,EACb,IAAK,IAAIuR,EAAI,EAAGA,EAAIvT,EAAM7C,OAAQoW,IAAK,CACrC,MAAMlU,EAAOW,EAAMuT,GACb4D,EAAaxC,EAAStV,GAAQ+X,EAAiB/X,GAAQ6X,EAAe7X,GAC5E,GAAI8X,EACF,IAAK,MAAMnd,KAAOmd,EAChBnV,EAAIhI,GAAOmd,EAAWnd,EAG5B,CACA,OAAOgI,CACT,CAAO,OAAI2S,EAAS3U,IAET6U,EAAS7U,GADXA,OACF,CAGT,CACA,MAAMqX,EAAkB,gBAClBC,EAAsB,UACtBC,EAAiB,iBACvB,SAASH,EAAiBI,GACxB,MAAMC,EAAM,CAAC,EAOb,OANAD,EAAQ7X,QAAQ4X,EAAgB,IAAI5V,MAAM0V,GAAiBxU,SAASxD,IAClE,GAAIA,EAAM,CACR,MAAMqY,EAAMrY,EAAKsC,MAAM2V,GACvBI,EAAIva,OAAS,IAAMsa,EAAIC,EAAI,GAAG7a,QAAU6a,EAAI,GAAG7a,OACjD,KAEK4a,CACT,CAeA,SAASE,EAAe3X,GACtB,IAAIgC,EAAM,GACV,GAAI2S,EAAS3U,GACXgC,EAAMhC,OACD,GAAIrF,EAAQqF,GACjB,IAAK,IAAIuT,EAAI,EAAGA,EAAIvT,EAAM7C,OAAQoW,IAAK,CACrC,MAAM4D,EAAaQ,EAAe3X,EAAMuT,IACpC4D,IACFnV,GAAOmV,EAAa,IAExB,MACK,GAAItC,EAAS7U,GAClB,IAAK,MAAM5E,KAAQ4E,EACbA,EAAM5E,KACR4G,GAAO5G,EAAO,KAIpB,OAAO4G,EAAInF,MACb,CAcA,MAQM+a,EAAuC1E,EADhB,+EAK7B,SAAS2E,EAAmB7X,GAC1B,QAASA,GAAmB,KAAVA,CACpB,CA0HA,MAAM8X,EAAmB7d,GAChB0a,EAAS1a,GAAOA,EAAa,MAAPA,EAAc,GAAKU,EAAQV,IAAQ4a,EAAS5a,KAASA,EAAIiE,WAAa8W,IAAmBN,EAAWza,EAAIiE,WAAa6Z,KAAKC,UAAU/d,EAAKge,EAAU,GAAKvL,OAAOzS,GAExLge,EAAWA,CAACC,EAAMje,IAClBA,GAAOA,EAAIke,UACNF,EAASC,EAAMje,EAAI+F,OACjBuU,EAAMta,GACR,CACL,CAAE,OAAMA,EAAI+W,SAAU,IAAI/W,EAAIme,WAAWC,QAAO,CAACD,GAAUpe,EAAKse,MAC9DF,EAAS,GAAEpe,QAAYse,EAChBF,IACN,CAAC,IAEG3D,EAAMxa,GACR,CACL,CAAE,OAAMA,EAAI+W,SAAU,IAAI/W,EAAIqF,YAEvBuV,EAAS5a,IAASU,EAAQV,IAASib,EAAcjb,GAGrDA,EAFEyS,OAAOzS,GC5YlB,IAAIse,EACJ,MAAMC,EACJC,YAAYC,GAAW,GACrBhG,KAAKgG,SAAWA,EAIhBhG,KAAKiG,SAAU,EAIfjG,KAAKkG,QAAU,GAIflG,KAAKmG,SAAW,GAChBnG,KAAKoG,OAASP,GACTG,GAAYH,IACf7F,KAAKqG,OAASR,EAAkBS,SAAWT,EAAkBS,OAAS,KAAK5X,KACzEsR,MACE,EAER,CACIuG,aACF,OAAOvG,KAAKiG,OACd,CACAO,IAAI3D,GACF,GAAI7C,KAAKiG,QAAS,CAChB,MAAMQ,EAAqBZ,EAC3B,IAEE,OADAA,EAAoB7F,KACb6C,GACT,CAAE,QACAgD,EAAoBY,CACtB,CACF,CAGF,CAKAC,KACEb,EAAoB7F,IACtB,CAKA2G,MACEd,EAAoB7F,KAAKoG,MAC3B,CACAQ,KAAKC,GACH,GAAI7G,KAAKiG,QAAS,CAChB,IAAIpF,EAAGiG,EACP,IAAKjG,EAAI,EAAGiG,EAAI9G,KAAKkG,QAAQzb,OAAQoW,EAAIiG,EAAGjG,IAC1Cb,KAAKkG,QAAQrF,GAAG+F,OAElB,IAAK/F,EAAI,EAAGiG,EAAI9G,KAAKmG,SAAS1b,OAAQoW,EAAIiG,EAAGjG,IAC3Cb,KAAKmG,SAAStF,KAEhB,GAAIb,KAAKsG,OACP,IAAKzF,EAAI,EAAGiG,EAAI9G,KAAKsG,OAAO7b,OAAQoW,EAAIiG,EAAGjG,IACzCb,KAAKsG,OAAOzF,GAAG+F,MAAK,GAGxB,IAAK5G,KAAKgG,UAAYhG,KAAKoG,SAAWS,EAAY,CAChD,MAAME,EAAO/G,KAAKoG,OAAOE,OAAOlL,MAC5B2L,GAAQA,IAAS/G,OACnBA,KAAKoG,OAAOE,OAAOtG,KAAKqG,OAASU,EACjCA,EAAKV,MAAQrG,KAAKqG,MAEtB,CACArG,KAAKoG,YAAS,EACdpG,KAAKiG,SAAU,CACjB,CACF,EAuBF,MAAMe,EAAad,IACjB,MAAMe,EAAM,IAAIza,IAAI0Z,GAGpB,OAFAe,EAAIC,EAAI,EACRD,EAAI/C,EAAI,EACD+C,CAAG,EAENE,GAAcF,IAASA,EAAIC,EAAIE,IAAc,EAC7CC,GAAcJ,IAASA,EAAI/C,EAAIkD,IAAc,EA0B7CE,GAA4B,IAAIC,QACtC,IAAIC,GAAmB,EACnBJ,GAAa,EACjB,MAAMK,GAAgB,GACtB,IAAIC,GACJ,MAAMC,GAAcC,OAA+D,IAC7EC,GAAsBD,OAAuE,IACnG,MAAME,GACJ/B,YAAYlD,EAAIkF,EAAY,KAAMC,GAChChI,KAAK6C,GAAKA,EACV7C,KAAK+H,UAAYA,EACjB/H,KAAKuG,QAAS,EACdvG,KAAKiI,KAAO,GACZjI,KAAKoG,YAAS,EAhElB,SAA2B8B,EAAQF,EAAQnC,GACrCmC,GAASA,EAAMzB,QACjByB,EAAM9B,QAAQxX,KAAKwZ,EAEvB,CA6DIC,CAAkBnI,KAAMgI,EAC1B,CACAxB,MACE,IAAKxG,KAAKuG,OACR,OAAOvG,KAAK6C,KAEd,IAAIuD,EAASsB,GACTU,EAAkBC,GACtB,KAAOjC,GAAQ,CACb,GAAIA,IAAWpG,KACb,OAEFoG,EAASA,EAAOA,MAClB,CACA,IAUE,OATApG,KAAKoG,OAASsB,GACdA,GAAe1H,KACfqI,IAAc,EACdjB,GAAa,KAAOI,GAChBA,IAAoBC,GA1DPa,GAAGL,WACxB,GAAIA,EAAKxd,OACP,IAAK,IAAIoW,EAAI,EAAGA,EAAIoH,EAAKxd,OAAQoW,IAC/BoH,EAAKpH,GAAGqG,GAAKE,EAEjB,EAsDMkB,CAAetI,MAEfuI,GAAcvI,MAETA,KAAK6C,IACd,CAAE,QACI2E,IAAoBC,IA1DFS,KAC1B,MAAM,KAAED,GAASC,EACjB,GAAID,EAAKxd,OAAQ,CACf,IAAI+d,EAAM,EACV,IAAK,IAAI3H,EAAI,EAAGA,EAAIoH,EAAKxd,OAAQoW,IAAK,CACpC,MAAMoG,EAAMgB,EAAKpH,GACbsG,GAAWF,KAASI,GAAWJ,GACjCA,EAAIwB,OAAOP,GAEXD,EAAKO,KAASvB,EAEhBA,EAAIC,IAAME,GACVH,EAAI/C,IAAMkD,EACZ,CACAa,EAAKxd,OAAS+d,CAChB,GA4CME,CAAmB1I,MAErBoH,GAAa,KAAOI,GACpBE,GAAe1H,KAAKoG,OACpBiC,GAAcD,EACdpI,KAAKoG,YAAS,EACVpG,KAAK2I,WACP3I,KAAK4G,MAET,CACF,CACAA,OACMc,KAAiB1H,KACnBA,KAAK2I,WAAY,EACR3I,KAAKuG,SACdgC,GAAcvI,MACVA,KAAK4I,QACP5I,KAAK4I,SAEP5I,KAAKuG,QAAS,EAElB,EAEF,SAASgC,GAAcM,GACrB,MAAM,KAAEZ,GAASY,EACjB,GAAIZ,EAAKxd,OAAQ,CACf,IAAK,IAAIoW,EAAI,EAAGA,EAAIoH,EAAKxd,OAAQoW,IAC/BoH,EAAKpH,GAAG4H,OAAOI,GAEjBZ,EAAKxd,OAAS,CAChB,CACF,CAqBA,IAAI4d,IAAc,EAClB,MAAMS,GAAa,GACnB,SAASC,KACPD,GAAWpa,KAAK2Z,IAChBA,IAAc,CAChB,CAKA,SAASW,KACP,MAAMjC,EAAO+B,GAAW1N,MACxBiN,QAAuB,IAATtB,GAAyBA,CACzC,CACA,SAASkC,GAAM7hB,EAAQiI,EAAM/H,GAC3B,GAAI+gB,IAAeX,GAAc,CAC/B,IAAIwB,EAAU5B,GAAU3J,IAAIvW,GACvB8hB,GACH5B,GAAUlW,IAAIhK,EAAQ8hB,EAA0B,IAAI/X,KAEtD,IAAI8V,EAAMiC,EAAQvL,IAAIrW,GACjB2f,GACHiC,EAAQ9X,IAAI9J,EAAK2f,EAAMD,KAGzBmC,GAAalC,EACf,CACF,CACA,SAASkC,GAAalC,EAAKmC,GACzB,IAAIC,GAAe,EACf7B,IAAoBC,GACjBJ,GAAWJ,KACdA,EAAI/C,GAAKkD,GACTiC,GAAgBlC,GAAWF,IAG7BoC,GAAgBpC,EAAIqC,IAAI5B,IAEtB2B,IACFpC,EAAIsC,IAAI7B,IACRA,GAAaO,KAAKvZ,KAAKuY,GAY3B,CACA,SAASuC,GAAQpiB,EAAQiI,EAAM/H,EAAKmiB,EAAUjG,EAAUkG,GACtD,MAAMR,EAAU5B,GAAU3J,IAAIvW,GAC9B,IAAK8hB,EACH,OAEF,IAAIjB,EAAO,GACX,GAAa,UAAT5Y,EACF4Y,EAAO,IAAIiB,EAAQtc,eACd,GAAY,WAARtF,GAAoBW,EAAQb,GAAS,CAC9C,MAAMuiB,EAAYhP,OAAO8O,GACzBP,EAAQ/Y,SAAQ,CAAC8W,EAAK2C,MACP,WAATA,GAAqBA,GAAQD,IAC/B1B,EAAKvZ,KAAKuY,EACZ,GAEJ,MAIE,YAHY,IAAR3f,GACF2gB,EAAKvZ,KAAKwa,EAAQvL,IAAIrW,IAEhB+H,GACN,IAAK,MACEpH,EAAQb,GAKFqb,EAAanb,IACtB2gB,EAAKvZ,KAAKwa,EAAQvL,IAAI,YALtBsK,EAAKvZ,KAAKwa,EAAQvL,IAAIgK,KAClB9F,EAAMza,IACR6gB,EAAKvZ,KAAKwa,EAAQvL,IAAIkK,MAK1B,MACF,IAAK,SACE5f,EAAQb,KACX6gB,EAAKvZ,KAAKwa,EAAQvL,IAAIgK,KAClB9F,EAAMza,IACR6gB,EAAKvZ,KAAKwa,EAAQvL,IAAIkK,MAG1B,MACF,IAAK,MACChG,EAAMza,IACR6gB,EAAKvZ,KAAKwa,EAAQvL,IAAIgK,KAM9B,GAAoB,IAAhBM,EAAKxd,OACHwd,EAAK,IAIL4B,GAAe5B,EAAK,QAGnB,CACL,MAAM/B,EAAU,GAChB,IAAK,MAAMe,KAAOgB,EACZhB,GACFf,EAAQxX,QAAQuY,GAMlB4C,GAAe7C,EAAUd,GAE7B,CACF,CACA,SAAS2D,GAAe5C,EAAKmC,GAC3B,MAAMlD,EAAUje,EAAQgf,GAAOA,EAAM,IAAIA,GACzC,IAAK,MAAM4B,KAAW3C,EAChB2C,EAAQiB,UACVC,GAAclB,GAGlB,IAAK,MAAMA,KAAW3C,EACf2C,EAAQiB,UACXC,GAAclB,EAGpB,CACA,SAASkB,GAAclB,EAASO,IAC1BP,IAAYnB,IAAgBmB,EAAQmB,gBAIlCnB,EAAQd,UACVc,EAAQd,YAERc,EAAQrC,MAGd,CAMA,MAAMyD,GAAqCzJ,EAAS,+BAC9C0J,GAAiB,IAAI1d,IACTjD,OAAO4gB,oBAAoBvC,QAAQ9d,QAAQxC,GAAgB,cAARA,GAA+B,WAARA,IAAkB2C,KAAK3C,GAAQsgB,OAAOtgB,KAAMwC,OAAOoY,IAEzIkI,GAAwBC,KACxBC,GAA6BD,IAAa,GAAO,GACjDE,GAA8BF,IAAa,GAE3CG,GAAwCC,KAC9C,SAASA,KACP,MAAMC,EAAmB,CAAC,EAuB1B,MAtBA,CAAC,WAAY,UAAW,eAAeva,SAAS7I,IAC9CojB,EAAiBpjB,GAAO,YAAYqjB,GAClC,MAAMpe,EAAMqe,GAAM5K,MAClB,IAAK,IAAIa,EAAI,EAAGiG,EAAI9G,KAAKvV,OAAQoW,EAAIiG,EAAGjG,IACtCoI,GAAM1c,EAAK,EAAOsU,EAAI,IAExB,MAAMvR,EAAM/C,EAAIjF,MAAQqjB,GACxB,OAAa,IAATrb,IAAsB,IAARA,EACT/C,EAAIjF,MAAQqjB,EAAK1gB,IAAI2gB,KAErBtb,CAEX,CAAC,IAEH,CAAC,OAAQ,MAAO,QAAS,UAAW,UAAUa,SAAS7I,IACrDojB,EAAiBpjB,GAAO,YAAYqjB,GAClC5B,KACA,MAAMzZ,EAAMsb,GAAM5K,MAAM1Y,GAAKujB,MAAM7K,KAAM2K,GAEzC,OADA3B,KACO1Z,CACT,CAAC,IAEIob,CACT,CACA,SAASjhB,GAAenC,GACtB,MAAMwc,EAAM8G,GAAM5K,MAElB,OADAiJ,GAAMnF,EAAK,EAAOxc,GACXwc,EAAIra,eAAenC,EAC5B,CACA,SAAS+iB,GAAaS,GAAc,EAAOC,GAAU,GACnD,OAAO,SAAc3jB,EAAQE,EAAK0jB,GAChC,GAAY,mBAAR1jB,EACF,OAAQwjB,EACH,GAAY,mBAARxjB,EACT,OAAOwjB,EACF,GAAY,kBAARxjB,EACT,OAAOyjB,EACF,GAAY,YAARzjB,GAAqB0jB,KAAcF,EAAcC,EAAUE,GAAqBC,GAAcH,EAAUI,GAAqBC,IAAazN,IAAIvW,GACvJ,OAAOA,EAET,MAAMikB,EAAgBpjB,EAAQb,GAC9B,IAAK0jB,EAAa,CAChB,GAAIO,GAAiBzJ,EAAO4I,GAAuBljB,GACjD,OAAOgkB,QAAQ3N,IAAI6M,GAAuBljB,EAAK0jB,GAEjD,GAAY,mBAAR1jB,EACF,OAAOmC,EAEX,CACA,MAAM6F,EAAMgc,QAAQ3N,IAAIvW,EAAQE,EAAK0jB,GACrC,OAAI9I,EAAS5a,GAAO4iB,GAAeZ,IAAIhiB,GAAO2iB,GAAmB3iB,IACxDgI,GAEJwb,GACH7B,GAAM7hB,EAAQ,EAAOE,GAEnByjB,EACKzb,EAELic,GAAMjc,GACD+b,GAAiB5I,EAAanb,GAAOgI,EAAMA,EAAIhC,MAEpD6U,EAAS7S,GACJwb,EAAcU,GAASlc,GAAOmc,GAASnc,GAEzCA,EACT,CACF,CAGA,SAASoc,GAAaX,GAAU,GAC9B,OAAO,SAAc3jB,EAAQE,EAAKgG,EAAO0d,GACvC,IAAIxH,EAAWpc,EAAOE,GACtB,GAAIqkB,GAAWnI,IAAa+H,GAAM/H,KAAc+H,GAAMje,GACpD,OAAO,EAET,IAAKyd,IACEa,GAAUte,IAAWqe,GAAWre,KACnCkW,EAAWoH,GAAMpH,GACjBlW,EAAQsd,GAAMtd,KAEXrF,EAAQb,IAAWmkB,GAAM/H,KAAc+H,GAAMje,IAEhD,OADAkW,EAASlW,MAAQA,GACV,EAGX,MAAMue,EAAS5jB,EAAQb,IAAWqb,EAAanb,GAAOqT,OAAOrT,GAAOF,EAAOqD,OAASmX,EAAOxa,EAAQE,GAC7FmB,EAAS6iB,QAAQla,IAAIhK,EAAQE,EAAKgG,EAAO0d,GAQ/C,OAPI5jB,IAAWwjB,GAAMI,KACda,EAEMtI,EAAWjW,EAAOkW,IAC3BgG,GAAQpiB,EAAQ,MAAOE,EAAKgG,GAF5Bkc,GAAQpiB,EAAQ,MAAOE,EAAKgG,IAKzB7E,CACT,CACF,CAqBA,MAAMqjB,GAAkB,CACtBnO,IAAKyM,GACLhZ,IApD4Bsa,KAqD5BK,eAvBF,SAAwB3kB,EAAQE,GAC9B,MAAMukB,EAASjK,EAAOxa,EAAQE,GAExBmB,GADWrB,EAAOE,GACTgkB,QAAQS,eAAe3kB,EAAQE,IAI9C,OAHImB,GAAUojB,GACZrC,GAAQpiB,EAAQ,SAAUE,OAAK,GAE1BmB,CACT,EAgBE6gB,IAfF,SAAeliB,EAAQE,GACrB,MAAMmB,EAAS6iB,QAAQhC,IAAIliB,EAAQE,GAInC,OAHK4a,EAAS5a,IAAS4iB,GAAeZ,IAAIhiB,IACxC2hB,GAAM7hB,EAAQ,EAAOE,GAEhBmB,CACT,EAUEujB,QATF,SAAiB5kB,GAEf,OADA6hB,GAAM7hB,EAAQ,EAAWa,EAAQb,GAAU,SAAWugB,IAC/C2D,QAAQU,QAAQ5kB,EACzB,GAQM6kB,GAAmB,CACvBtO,IAAK4M,GACLnZ,IAAGA,CAAChK,EAAQE,KAOH,EAETykB,eAAcA,CAAC3kB,EAAQE,KAOd,GAGL4kB,GAA0C5K,EAC9C,CAAC,EACDwK,GACA,CACEnO,IAAK2M,GACLlZ,IAlF+Bsa,IAAa,KA6F1CS,GAAa7e,GAAUA,EACvB8e,GAAY9b,GAAMgb,QAAQe,eAAe/b,GAC/C,SAASqN,GAAIvW,EAAQE,EAAKqkB,GAAa,EAAOC,GAAY,GAExD,MAAMU,EAAY1B,GADlBxjB,EAASA,EAAgB,SAEnBmlB,EAAS3B,GAAMtjB,GAChBqkB,IACCrkB,IAAQilB,GACVtD,GAAMqD,EAAW,EAAOhlB,GAE1B2hB,GAAMqD,EAAW,EAAOC,IAE1B,MAAQjD,IAAKkD,GAASJ,GAASE,GACzBG,EAAOb,EAAYO,GAAYR,EAAae,GAAaC,GAC/D,OAAIH,EAAK9iB,KAAK4iB,EAAWhlB,GAChBmlB,EAAKrlB,EAAOuW,IAAIrW,IACdklB,EAAK9iB,KAAK4iB,EAAWC,GACvBE,EAAKrlB,EAAOuW,IAAI4O,SACdnlB,IAAWklB,GACpBllB,EAAOuW,IAAIrW,GAEf,CACA,SAASgiB,GAAIhiB,EAAKqkB,GAAa,GAC7B,MAAMvkB,EAAS4Y,KAAc,QACvBsM,EAAY1B,GAAMxjB,GAClBmlB,EAAS3B,GAAMtjB,GAOrB,OANKqkB,IACCrkB,IAAQilB,GACVtD,GAAMqD,EAAW,EAAOhlB,GAE1B2hB,GAAMqD,EAAW,EAAOC,IAEnBjlB,IAAQilB,EAASnlB,EAAOkiB,IAAIhiB,GAAOF,EAAOkiB,IAAIhiB,IAAQF,EAAOkiB,IAAIiD,EAC1E,CACA,SAASjO,GAAKlX,EAAQukB,GAAa,GAGjC,OAFAvkB,EAASA,EAAgB,SACxBukB,GAAc1C,GAAM2B,GAAMxjB,GAAS,EAAWugB,IACxC2D,QAAQ3N,IAAIvW,EAAQ,OAAQA,EACrC,CACA,SAASmiB,GAAIjc,GACXA,EAAQsd,GAAMtd,GACd,MAAMlG,EAASwjB,GAAM5K,MAOrB,OANcoM,GAAShlB,GACFkiB,IAAI5f,KAAKtC,EAAQkG,KAEpClG,EAAOmiB,IAAIjc,GACXkc,GAAQpiB,EAAQ,MAAOkG,EAAOA,IAEzB0S,IACT,CACA,SAAS5O,GAAI9J,EAAKgG,GAChBA,EAAQsd,GAAMtd,GACd,MAAMlG,EAASwjB,GAAM5K,OACbsJ,IAAKkD,EAAM7O,IAAKiP,GAASR,GAAShlB,GAC1C,IAAIykB,EAASW,EAAK9iB,KAAKtC,EAAQE,GAC1BukB,IACHvkB,EAAMsjB,GAAMtjB,GACZukB,EAASW,EAAK9iB,KAAKtC,EAAQE,IAI7B,MAAMkc,EAAWoJ,EAAKljB,KAAKtC,EAAQE,GAOnC,OANAF,EAAOgK,IAAI9J,EAAKgG,GACXue,EAEMtI,EAAWjW,EAAOkW,IAC3BgG,GAAQpiB,EAAQ,MAAOE,EAAKgG,GAF5Bkc,GAAQpiB,EAAQ,MAAOE,EAAKgG,GAIvB0S,IACT,CACA,SAAS6M,GAAYvlB,GACnB,MAAMF,EAASwjB,GAAM5K,OACbsJ,IAAKkD,EAAM7O,IAAKiP,GAASR,GAAShlB,GAC1C,IAAIykB,EAASW,EAAK9iB,KAAKtC,EAAQE,GAC1BukB,IACHvkB,EAAMsjB,GAAMtjB,GACZukB,EAASW,EAAK9iB,KAAKtC,EAAQE,IAIZslB,GAAOA,EAAKljB,KAAKtC,EAAQE,GAA1C,MACMmB,EAASrB,EAAOqhB,OAAOnhB,GAI7B,OAHIukB,GACFrC,GAAQpiB,EAAQ,SAAUE,OAAK,GAE1BmB,CACT,CACA,SAASqkB,KACP,MAAM1lB,EAASwjB,GAAM5K,MACf+M,EAA2B,IAAhB3lB,EAAOkX,KAElB7V,EAASrB,EAAO0lB,QAItB,OAHIC,GACFvD,GAAQpiB,EAAQ,aAAS,OAAQ,GAE5BqB,CACT,CACA,SAASukB,GAAcrB,EAAYC,GACjC,OAAO,SAAiBqB,EAAUC,GAChC,MAAMC,EAAWnN,KACX5Y,EAAS+lB,EAAkB,QAC3Bb,EAAY1B,GAAMxjB,GAClBqlB,EAAOb,EAAYO,GAAYR,EAAae,GAAaC,GAE/D,OADChB,GAAc1C,GAAMqD,EAAW,EAAW3E,IACpCvgB,EAAO+I,SAAQ,CAAC7C,EAAOhG,IACrB2lB,EAASvjB,KAAKwjB,EAAST,EAAKnf,GAAQmf,EAAKnlB,GAAM6lB,IAE1D,CACF,CACA,SAASC,GAAqBC,EAAQ1B,EAAYC,GAChD,OAAO,YAAYjB,GACjB,MAAMvjB,EAAS4Y,KAAc,QACvBsM,EAAY1B,GAAMxjB,GAClBkmB,EAAczL,EAAMyK,GACpBiB,EAAoB,YAAXF,GAAwBA,IAAWzF,OAAO4F,UAAYF,EAC/DG,EAAuB,SAAXJ,GAAqBC,EACjCI,EAAgBtmB,EAAOimB,MAAW1C,GAClC8B,EAAOb,EAAYO,GAAYR,EAAae,GAAaC,GAM/D,OALChB,GAAc1C,GACbqD,EACA,EACAmB,EAAY5F,GAAsBF,IAE7B,CAELgG,OACE,MAAM,MAAErgB,EAAK,KAAEsgB,GAASF,EAAcC,OACtC,OAAOC,EAAO,CAAEtgB,QAAOsgB,QAAS,CAC9BtgB,MAAOigB,EAAS,CAACd,EAAKnf,EAAM,IAAKmf,EAAKnf,EAAM,KAAOmf,EAAKnf,GACxDsgB,OAEJ,EAEA,CAAChG,OAAO4F,YACN,OAAOxN,IACT,EAEJ,CACF,CACA,SAAS6N,GAAqBxe,GAC5B,OAAO,YAAYsb,GAQjB,MAAgB,WAATtb,GAA4B2Q,IACrC,CACF,CACA,SAAS8N,KACP,MAAMC,EAA2B,CAC/BpQ,IAAIrW,GACF,OAAOqW,GAAIqC,KAAM1Y,EACnB,EACIgX,WACF,OAAOA,GAAK0B,KACd,EACAsJ,OACAC,OACAnY,OACAqX,OAAQoE,GACRC,SACA3c,QAAS6c,IAAc,GAAO,IAE1BgB,EAA2B,CAC/BrQ,IAAIrW,GACF,OAAOqW,GAAIqC,KAAM1Y,GAAK,GAAO,EAC/B,EACIgX,WACF,OAAOA,GAAK0B,KACd,EACAsJ,OACAC,OACAnY,OACAqX,OAAQoE,GACRC,SACA3c,QAAS6c,IAAc,GAAO,IAE1BiB,EAA4B,CAChCtQ,IAAIrW,GACF,OAAOqW,GAAIqC,KAAM1Y,GAAK,EACxB,EACIgX,WACF,OAAOA,GAAK0B,MAAM,EACpB,EACAsJ,IAAIhiB,GACF,OAAOgiB,GAAI5f,KAAKsW,KAAM1Y,GAAK,EAC7B,EACAiiB,IAAKsE,GAAqB,OAC1Bzc,IAAKyc,GAAqB,OAC1BpF,OAAQoF,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B1d,QAAS6c,IAAc,GAAM,IAEzBkB,EAAmC,CACvCvQ,IAAIrW,GACF,OAAOqW,GAAIqC,KAAM1Y,GAAK,GAAM,EAC9B,EACIgX,WACF,OAAOA,GAAK0B,MAAM,EACpB,EACAsJ,IAAIhiB,GACF,OAAOgiB,GAAI5f,KAAKsW,KAAM1Y,GAAK,EAC7B,EACAiiB,IAAKsE,GAAqB,OAC1Bzc,IAAKyc,GAAqB,OAC1BpF,OAAQoF,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B1d,QAAS6c,IAAc,GAAM,IAyB/B,MAvBwB,CAAC,OAAQ,SAAU,UAAWpF,OAAO4F,UAC7Crd,SAASkd,IACvBU,EAAyBV,GAAUD,GACjCC,GACA,GACA,GAEFY,EAA0BZ,GAAUD,GAClCC,GACA,GACA,GAEFW,EAAyBX,GAAUD,GACjCC,GACA,GACA,GAEFa,EAAiCb,GAAUD,GACzCC,GACA,GACA,EACD,IAEI,CACLU,EACAE,EACAD,EACAE,EAEJ,CACA,MACEC,GACAC,GACAC,GACAC,IACkBR,KACpB,SAASS,GAA4B5C,EAAYZ,GAC/C,MAAML,EAAmBK,EAAUY,EAAa2C,GAAkCD,GAA0B1C,EAAayC,GAA2BD,GACpJ,MAAO,CAAC/mB,EAAQE,EAAK0jB,IACP,mBAAR1jB,GACMqkB,EACS,mBAARrkB,EACFqkB,EACU,YAARrkB,EACFF,EAEFkkB,QAAQ3N,IACbiE,EAAO8I,EAAkBpjB,IAAQA,KAAOF,EAASsjB,EAAmBtjB,EACpEE,EACA0jB,EAGN,CACA,MAAMwD,GAA4B,CAChC7Q,IAAqB4Q,IAA4B,GAAO,IAEpDE,GAA4B,CAChC9Q,IAAqB4Q,IAA4B,GAAO,IAEpDG,GAA6B,CACjC/Q,IAAqB4Q,IAA4B,GAAM,IAenDnD,GAA8B,IAAI7D,QAClC4D,GAAqC,IAAI5D,QACzC2D,GAA8B,IAAI3D,QAClC0D,GAAqC,IAAI1D,QAkB/C,SAASkE,GAASrkB,GAChB,OAAIukB,GAAWvkB,GACNA,EAEFunB,GACLvnB,GACA,EACA0kB,GACA0C,GACApD,GAEJ,CAUA,SAASI,GAASpkB,GAChB,OAAOunB,GACLvnB,GACA,EACA6kB,GACAyC,GACAxD,GAEJ,CAUA,SAASyD,GAAqBvnB,EAAQ0jB,EAAa8D,EAAcC,EAAoBC,GACnF,IAAK3M,EAAS/a,GAIZ,OAAOA,EAET,GAAIA,EAAgB,WAAO0jB,IAAe1jB,EAAuB,gBAC/D,OAAOA,EAET,MAAM2nB,EAAgBD,EAASnR,IAAIvW,GACnC,GAAI2nB,EACF,OAAOA,EAET,MAAMC,GAxDe1hB,EAwDYlG,GAvDV,WAAMmC,OAAO0lB,aAAa3hB,GAAS,EAf5D,SAAuB4hB,GACrB,OAAQA,GACN,IAAK,SACL,IAAK,QACH,OAAO,EACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,OAAO,EACT,QACE,OAAO,EAEb,CAE8EC,CAAc5M,EAAUjV,IADtG,IAAuBA,EAyDrB,GAAmB,IAAf0hB,EACF,OAAO5nB,EAET,MAAMgoB,EAAQ,IAAIC,MAChBjoB,EACe,IAAf4nB,EAAoCH,EAAqBD,GAG3D,OADAE,EAAS1d,IAAIhK,EAAQgoB,GACdA,CACT,CACA,SAASE,GAAWhiB,GAClB,OAAIqe,GAAWre,GACNgiB,GAAWhiB,EAAe,YAEzBA,IAASA,EAAsB,eAC3C,CACA,SAASqe,GAAWre,GAClB,SAAUA,IAASA,EAAsB,eAC3C,CACA,SAASse,GAAUte,GACjB,SAAUA,IAASA,EAAqB,cAC1C,CACA,SAASiiB,GAAQjiB,GACf,OAAOgiB,GAAWhiB,IAAUqe,GAAWre,EACzC,CACA,SAASsd,GAAMuC,GACb,MAAM1f,EAAM0f,GAAYA,EAAkB,QAC1C,OAAO1f,EAAMmd,GAAMnd,GAAO0f,CAC5B,CACA,SAASqC,GAAQliB,GAEf,OADAuW,EAAIvW,EAAO,YAAY,GAChBA,CACT,CACA,MAAMqf,GAAcrf,GAAU6U,EAAS7U,GAASme,GAASne,GAASA,EAC5Dof,GAAcpf,GAAU6U,EAAS7U,GAASke,GAASle,GAASA,EAElE,SAASmiB,GAAcC,GACjBrH,IAAeX,IASfyB,IARFuG,EAAO9E,GAAM8E,IAQOzI,MAAQyI,EAAKzI,IAAMD,KAG3C,CACA,SAAS2I,GAAgBD,EAAME,GAE7B,MAAM3I,GADNyI,EAAO9E,GAAM8E,IACIzI,IACbA,GASA4C,GAAe5C,EAGrB,CACA,SAASsE,GAAMvO,GACb,SAAUA,IAAqB,IAAhBA,EAAEyI,UACnB,CACA,SAASoK,GAAIviB,GACX,OAK2Byd,GALH,EAMpBQ,GADauE,EALAxiB,GAORwiB,EAEF,IAAIC,GAAQD,EAAU/E,GAJ/B,IAAmB+E,EAAU/E,CAJ7B,CAUA,MAAMgF,GACJhK,YAAYzY,EAAO0iB,GACjBhQ,KAAKgQ,cAAgBA,EACrBhQ,KAAKiH,SAAM,EACXjH,KAAKyF,WAAY,EACjBzF,KAAKiQ,UAAYD,EAAgB1iB,EAAQsd,GAAMtd,GAC/C0S,KAAKkQ,OAASF,EAAgB1iB,EAAQqf,GAAWrf,EACnD,CACIA,YAEF,OADAmiB,GAAczP,MACPA,KAAKkQ,MACd,CACI5iB,UAAMsiB,GACR,MAAMO,EAAiBnQ,KAAKgQ,eAAiBpE,GAAUgE,IAAWjE,GAAWiE,GAC7EA,EAASO,EAAiBP,EAAShF,GAAMgF,GACrCrM,EAAWqM,EAAQ5P,KAAKiQ,aAC1BjQ,KAAKiQ,UAAYL,EACjB5P,KAAKkQ,OAASC,EAAiBP,EAASjD,GAAWiD,GACnDD,GAAgB3P,MAEpB,EAKF,SAASoQ,GAAMV,GACb,OAAOnE,GAAMmE,GAAQA,EAAKpiB,MAAQoiB,CACpC,CAIA,MAAMW,GAAwB,CAC5B1S,IAAKA,CAACvW,EAAQE,EAAK0jB,IAAaoF,GAAM9E,QAAQ3N,IAAIvW,EAAQE,EAAK0jB,IAC/D5Z,IAAKA,CAAChK,EAAQE,EAAKgG,EAAO0d,KACxB,MAAMxH,EAAWpc,EAAOE,GACxB,OAAIikB,GAAM/H,KAAc+H,GAAMje,IAC5BkW,EAASlW,MAAQA,GACV,GAEAge,QAAQla,IAAIhK,EAAQE,EAAKgG,EAAO0d,EACzC,GAGJ,SAASsF,GAAUC,GACjB,OAAOjB,GAAWiB,GAAkBA,EAAiB,IAAIlB,MAAMkB,EAAgBF,GACjF,CAgFA,MAAMG,GACJzK,YAAY0K,EAAQC,EAAS/E,EAAYgF,GACvC3Q,KAAK0Q,QAAUA,EACf1Q,KAAKiH,SAAM,EACXjH,KAAKyF,WAAY,EACjBzF,KAAqB,gBAAI,EACzBA,KAAK4Q,QAAS,EACd5Q,KAAKkI,OAAS,IAAIJ,GAAe2I,GAAQ,KAClCzQ,KAAK4Q,SACR5Q,KAAK4Q,QAAS,EACdjB,GAAgB3P,MAClB,IAEFA,KAAKkI,OAAO4B,SAAW9J,KACvBA,KAAKkI,OAAO3B,OAASvG,KAAK6Q,YAAcF,EACxC3Q,KAAqB,eAAI2L,CAC3B,CACIre,YACF,MAAMhH,EAAOskB,GAAM5K,MAMnB,OALAyP,GAAcnpB,IACVA,EAAKsqB,QAAWtqB,EAAKuqB,aACvBvqB,EAAKsqB,QAAS,EACdtqB,EAAK4pB,OAAS5pB,EAAK4hB,OAAO1B,OAErBlgB,EAAK4pB,MACd,CACI5iB,UAAMmc,GACRzJ,KAAK0Q,QAAQjH,EACf,ECt+BF,SAASqH,GAAsBjO,EAAIkO,EAAU1hB,EAAMsb,GACjD,IAAIrb,EACJ,IACEA,EAAMqb,EAAO9H,KAAM8H,GAAQ9H,GAC7B,CAAE,MAAOmO,GACPC,GAAYD,EAAKD,EAAU1hB,EAC7B,CACA,OAAOC,CACT,CACA,SAAS4hB,GAA2BrO,EAAIkO,EAAU1hB,EAAMsb,GACtD,GAAI3I,EAAWa,GAAK,CAClB,MAAMvT,EAAMwhB,GAAsBjO,EAAIkO,EAAU1hB,EAAMsb,GAMtD,OALIrb,GAAO8S,EAAU9S,IACnBA,EAAI/G,OAAOyoB,IACTC,GAAYD,EAAKD,EAAU1hB,EAAK,IAG7BC,CACT,CACA,MAAM1C,EAAS,GACf,IAAK,IAAIiU,EAAI,EAAGA,EAAIgC,EAAGpY,OAAQoW,IAC7BjU,EAAO8B,KAAKwiB,GAA2BrO,EAAGhC,GAAIkQ,EAAU1hB,EAAMsb,IAEhE,OAAO/d,CACT,CACA,SAASqkB,GAAYD,EAAKD,EAAU1hB,EAAM8hB,GAAa,GAErD,GADqBJ,GAAWA,EAASK,MACrCL,EAAU,CACZ,IAAIM,EAAMN,EAAS3K,OACnB,MAAMkL,EAAkBP,EAAS3B,MAC3BmC,EAAiFliB,EACvF,KAAOgiB,GAAK,CACV,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACF,IAAK,IAAI3Q,EAAI,EAAGA,EAAI2Q,EAAmB/mB,OAAQoW,IAC7C,IAA+D,IAA3D2Q,EAAmB3Q,GAAGmQ,EAAKM,EAAiBC,GAC9C,OAINF,EAAMA,EAAIjL,MACZ,CACA,MAAMsL,EAAkBX,EAASY,WAAWC,OAAOC,aACnD,GAAIH,EAOF,YANAZ,GACEY,EACA,KACA,GACA,CAACV,EAAKM,EAAiBC,GAI7B,EAGF,SAAkBP,EAAK3hB,EAAMyiB,EAAcX,GAAa,GAgBpD/T,QAAQ2U,MAAMf,EAElB,CApBEgB,CAAShB,EAAK3hB,EAAMyiB,EAAcX,EACpC,CAqBA,IAAIc,IAAa,EACbC,IAAiB,EACrB,MAAMC,GAAQ,GACd,IAAIC,GAAa,EACjB,MAAMC,GAAsB,GAC5B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,GAAkCviB,QAAQwiB,UAChD,IAAIC,GAAsB,KAE1B,SAASC,GAAS9P,GAChB,MAAMlS,EAAI+hB,IAAuBF,GACjC,OAAO3P,EAAKlS,EAAE0R,KAAKrC,KAAO6C,EAAG/b,KAAKkZ,MAAQ6C,GAAMlS,CAClD,CAWA,SAASiiB,GAASC,GACXV,GAAM1nB,QAAW0nB,GAAM9nB,SAC1BwoB,EACAZ,IAAcY,EAAI7I,aAAeoI,GAAa,EAAIA,MAEpC,MAAVS,EAAIC,GACNX,GAAMzjB,KAAKmkB,GAEXV,GAAMxQ,OAlBZ,SAA4BmR,GAC1B,IAAIC,EAAQX,GAAa,EACrBY,EAAMb,GAAM1nB,OAChB,KAAOsoB,EAAQC,GAAK,CAClB,MAAMC,EAASF,EAAQC,IAAQ,EACXE,GAAMf,GAAMc,IAClBH,EAAKC,EAAQE,EAAS,EAAID,EAAMC,CAChD,CACA,OAAOF,CACT,CASmBI,CAAmBN,EAAIC,IAAK,EAAGD,GAE9CO,KAEJ,CACA,SAASA,KACFnB,IAAeC,KAClBA,IAAiB,EACjBQ,GAAsBF,GAAgBnQ,KAAKgR,IAE/C,CAoBA,SAASC,GAAiBC,EAAM1S,GAAIoR,GAAaG,GAAa,EAAI,IAIhE,KAAOvR,EAAIsR,GAAM1nB,OAAQoW,IAAK,CAC5B,MAAM2S,EAAKrB,GAAMtR,GACb2S,GAAMA,EAAGC,MAIXtB,GAAMxQ,OAAOd,EAAG,GAChBA,IACA2S,IAEJ,CACF,CACA,SAASE,GAAkBH,GACzB,GAAIlB,GAAoB5nB,OAAQ,CAC9B,MAAMkpB,EAAU,IAAI,IAAInnB,IAAI6lB,KAE5B,GADAA,GAAoB5nB,OAAS,EACzB6nB,GAEF,YADAA,GAAmB5jB,QAAQilB,GAQ7B,IALArB,GAAqBqB,EAIrBrB,GAAmB/W,MAAK,CAACC,EAAGC,IAAMyX,GAAM1X,GAAK0X,GAAMzX,KAC9C8W,GAAiB,EAAGA,GAAiBD,GAAmB7nB,OAAQ8nB,KAInED,GAAmBC,MAErBD,GAAqB,KACrBC,GAAiB,CACnB,CACF,CACA,MAAMW,GAASL,GAAkB,MAAVA,EAAIC,GAAac,IAAWf,EAAIC,GACjDe,GAAaA,CAACrY,EAAGC,KACrB,MAAMqY,EAAOZ,GAAM1X,GAAK0X,GAAMzX,GAC9B,GAAa,IAATqY,EAAY,CACd,GAAItY,EAAEiY,MAAQhY,EAAEgY,IACd,OAAQ,EACV,GAAIhY,EAAEgY,MAAQjY,EAAEiY,IACd,OAAO,CACX,CACA,OAAOK,CAAI,EAEb,SAAST,GAAUE,GACjBrB,IAAiB,EACjBD,IAAa,EAIbE,GAAM5W,KAAKsY,IAEX,IACE,IAAKzB,GAAa,EAAGA,GAAaD,GAAM1nB,OAAQ2nB,KAAc,CAC5D,MAAMS,EAAMV,GAAMC,IACdS,IAAsB,IAAfA,EAAItM,QAIbuK,GAAsB+B,EAAK,KAAM,GAErC,CACF,CAAE,QACAT,GAAa,EACbD,GAAM1nB,OAAS,EACfipB,KACAzB,IAAa,EACbS,GAAsB,MAClBP,GAAM1nB,QAAU4nB,GAAoB5nB,SACtC4oB,GAAUE,EAEd,CACF,CAsIA,IAAIQ,GACAC,GAAS,GACTC,IAAuB,EAC3B,SAASC,GAAOhpB,KAAUyf,GACpBoJ,GACFA,GAASI,KAAKjpB,KAAUyf,GACdsJ,IACVD,GAAOtlB,KAAK,CAAExD,QAAOyf,QAEzB,CACA,SAASyJ,GAAgBC,EAAMjtB,GAC7B,IAAIiY,EAAIiV,EACRP,GAAWM,EACPN,IACFA,GAASQ,SAAU,EACnBP,GAAO7jB,SAAQ,EAAGjF,QAAOyf,UAAWoJ,GAASI,KAAKjpB,KAAUyf,KAC5DqJ,GAAS,IAKS,oBAAXztB,QACPA,OAAOiuB,eAC6D,OAAjEF,EAAgC,OAA1BjV,EAAK9Y,OAAOkuB,gBAAqB,EAASpV,EAAGqV,gBAAqB,EAASJ,EAAGjqB,SAAS,YAEjFjD,EAAOutB,6BAA+BvtB,EAAOutB,8BAAgC,IACrFjmB,MAAMkmB,IACXR,GAAgBQ,EAASxtB,EAAO,IAElC6W,YAAW,KACJ8V,KACH3sB,EAAOutB,6BAA+B,KACtCV,IAAuB,EACvBD,GAAS,GACX,GACC,OAEHC,IAAuB,EACvBD,GAAS,GAEb,CAYA,MAAMa,GAAyCC,GAC7C,mBAEIC,GAA2CD,GAA4B,qBACvEE,GAA4CF,GAChD,qBAEIG,GAA4BC,IAC5BnB,IAA8C,mBAA3BA,GAASoB,gBAC/BpB,GAASoB,cAAcD,IACtBF,GAA0BE,EAC5B,EAEF,SAASJ,GAA4BT,GACnC,OAAQa,IACNhB,GACEG,EACAa,EAAUvD,WAAW3a,IACrBke,EAAUE,IACVF,EAAU9O,OAAS8O,EAAU9O,OAAOgP,SAAM,EAC1CF,EACD,CAEL,CAsBA,SAASf,GAAKpD,EAAU7lB,KAAUmqB,GAChC,GAAItE,EAASuE,YACX,OACF,MAAMnuB,EAAQ4pB,EAASK,MAAMjqB,OAAS2Z,EA0BtC,IAAI6J,EAAO0K,EACX,MAAMhU,EAAkBnW,EAAMiI,WAAW,WACnCoiB,EAAWlU,GAAmBnW,EAAMmI,MAAM,GAChD,GAAIkiB,GAAYA,KAAYpuB,EAAO,CACjC,MAAMquB,EAAgB,GAAe,eAAbD,EAA4B,QAAUA,cACxD,OAAEE,EAAM,KAAEtrB,GAAShD,EAAMquB,IAAiB1U,EAC5C3W,IACFwgB,EAAO0K,EAAQprB,KAAKuR,GAAMyG,EAASzG,GAAKA,EAAErR,OAASqR,KAEjDia,IACF9K,EAAO0K,EAAQprB,IAAIga,GAEvB,CAeA,IAAIyR,EAd6CC,uBApDnD,SAA+BT,EAAWhqB,EAAO0qB,GAC/C1B,GACE,iBACAgB,EAAUvD,WAAW3a,IACrBke,EACAhqB,EACA0qB,EAEJ,CA6CIC,CAAsB9E,EAAU7lB,EAAOyf,GAczC,IAAImL,EAAU3uB,EAAMuuB,EAAcpS,EAAapY,KAC/C/D,EAAMuuB,EAAcpS,EAAaN,EAAS9X,MACrC4qB,GAAWzU,IACdyU,EAAU3uB,EAAMuuB,EAAcpS,EAAaH,EAAUjY,MAEnD4qB,GACF5E,GACE4E,EACA/E,EACA,EACApG,GAGJ,MAAMoL,EAAc5uB,EAAMuuB,EAAe,QACzC,GAAIK,EAAa,CACf,GAAKhF,EAASiF,SAEP,GAAIjF,EAASiF,QAAQN,GAC1B,YAFA3E,EAASiF,QAAU,CAAC,EAItBjF,EAASiF,QAAQN,IAAe,EAChCxE,GACE6E,EACAhF,EACA,EACApG,EAEJ,CACF,CACA,SAASsL,GAAsBC,EAAMvE,EAAYwE,GAAU,GACzD,MAAMrT,EAAQ6O,EAAWyE,WACnBC,EAASvT,EAAMnF,IAAIuY,GACzB,QAAe,IAAXG,EACF,OAAOA,EAET,MAAM5oB,EAAMyoB,EAAKI,MACjB,IAAI7R,EAAa,CAAC,EACd8R,GAAa,EACjB,GAAIC,sBAAwBxU,EAAWkU,GAAO,CAC5C,MAAMO,EAAeC,IACnB,MAAMC,EAAuBV,GAAsBS,EAAM/E,GAAY,GACjEgF,IACFJ,GAAa,EACbjV,EAAOmD,EAAYkS,GACrB,GAEGR,GAAWxE,EAAWiF,OAAOnsB,QAChCknB,EAAWiF,OAAOzmB,QAAQsmB,GAExBP,EAAKW,SACPJ,EAAYP,EAAKW,SAEfX,EAAKU,QACPV,EAAKU,OAAOzmB,QAAQsmB,EAExB,CACA,OAAKhpB,GAAQ8oB,GAMTtuB,EAAQwF,GACVA,EAAI0C,SAAS7I,GAAQmd,EAAWnd,GAAO,OAEvCga,EAAOmD,EAAYhX,GAEjB0U,EAAS+T,IACXpT,EAAM1R,IAAI8kB,EAAMzR,GAEXA,IAbDtC,EAAS+T,IACXpT,EAAM1R,IAAI8kB,EAAM,MAEX,KAWX,CACA,SAASY,GAAeC,EAASzvB,GAC/B,SAAKyvB,IAAY5V,EAAK7Z,MAGtBA,EAAMA,EAAI+L,MAAM,GAAGpG,QAAQ,QAAS,IAC7B2U,EAAOmV,EAASzvB,EAAI,GAAG8C,cAAgB9C,EAAI+L,MAAM,KAAOuO,EAAOmV,EAAS5T,EAAU7b,KAASsa,EAAOmV,EAASzvB,GACpH,CAEA,IAAI0vB,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4BnG,GACnC,MAAMoG,EAAOH,GAGb,OAFAA,GAA2BjG,EAC3BkG,GAAiBlG,GAAYA,EAAS1hB,KAAK+nB,WAAa,KACjDD,CACT,CAQA,SAASE,GAAQxU,EAAIyU,EAAMN,GAA0BO,GACnD,IAAKD,EACH,OAAOzU,EACT,GAAIA,EAAG2U,GACL,OAAO3U,EAET,MAAM4U,EAAsBA,IAAI9M,KAC1B8M,EAAoBC,IACtBC,IAAkB,GAEpB,MAAMC,EAAeV,GAA4BI,GACjD,IAAIhoB,EACJ,IACEA,EAAMuT,KAAM8H,EACd,CAAE,QACAuM,GAA4BU,GACxBH,EAAoBC,IACtBC,GAAiB,EAErB,CAIA,OAHiDhC,uBAC/CZ,GAAyBuC,GAEpBhoB,CAAG,EAKZ,OAHAmoB,EAAoBD,IAAK,EACzBC,EAAoBI,IAAK,EACzBJ,EAAoBC,IAAK,EAClBD,CACT,CAMA,SAASK,GAAoB/G,GAC3B,MACE1hB,KAAM0oB,EAAS,MACf3G,EAAK,MACLhC,EAAK,UACL4I,EAAS,MACT7wB,EACA8wB,cAAeA,GAAa,MAC5BC,EAAK,MACLC,EAAK,KACLhE,EAAI,OACJiE,EAAM,YACNC,EAAW,KACXxwB,EAAI,WACJywB,EAAU,IACVhB,EAAG,aACHiB,GACExH,EACJ,IAAItoB,EACA+vB,EACJ,MAAMrB,EAAOD,GAA4BnG,GAIzC,IACE,GAAsB,EAAlBK,EAAMqH,UAAe,CACvB,MAAMC,EAAaV,GAAa5I,EAChC3mB,EAASkwB,GACPP,EAAO1uB,KACLgvB,EACAA,EACAL,EACAlxB,EACAmxB,EACAzwB,EACAyvB,IAGJkB,EAAmBL,CACrB,KAAO,CACL,MAAMS,EAAUb,EAIhBtvB,EAASkwB,GACPC,EAAQnuB,OAAS,EAAImuB,EACnBzxB,EAQI,CAAEgxB,QAAOD,QAAO/D,SAClByE,EACFzxB,EACA,OAIJqxB,EAAmBT,EAAU5wB,MAAQgxB,EAAQU,GAAyBV,EACxE,CACF,CAAE,MAAOnH,GACP8H,GAAWruB,OAAS,EACpBwmB,GAAYD,EAAKD,EAAU,GAC3BtoB,EAASswB,GAAYvZ,GACvB,CACA,IAAIwZ,EAAOvwB,EAKX,GAAI+vB,IAAqC,IAAjBD,EAAwB,CAC9C,MAAMpf,EAAO5P,OAAO4P,KAAKqf,IACnB,UAAEC,GAAcO,EAClB7f,EAAK1O,QACS,EAAZguB,IACER,GAAgB9e,EAAK8f,KAAK5X,KAC5BmX,EAAmBU,GACjBV,EACAP,IAGJe,EAAOG,GAAWH,EAAMR,GA2B9B,CAwBA,OAvBIpH,EAAMgI,OAMRJ,EAAOG,GAAWH,GAClBA,EAAKI,KAAOJ,EAAKI,KAAOJ,EAAKI,KAAKC,OAAOjI,EAAMgI,MAAQhI,EAAMgI,MAE3DhI,EAAMkI,aAMRN,EAAKM,WAAalI,EAAMkI,YAKxB7wB,EAASuwB,EAEX9B,GAA4BC,GACrB1uB,CACT,CAwCA,MAAMowB,GAA4BV,IAChC,IAAI7oB,EACJ,IAAK,MAAMhI,KAAO6wB,GACJ,UAAR7wB,GAA2B,UAARA,GAAmB6Z,EAAK7Z,OAC5CgI,IAAQA,EAAM,CAAC,IAAIhI,GAAO6wB,EAAM7wB,IAGrC,OAAOgI,CAAG,EAEN4pB,GAAuBA,CAACf,EAAOhxB,KACnC,MAAMmI,EAAM,CAAC,EACb,IAAK,MAAMhI,KAAO6wB,EACX9W,EAAgB/Z,IAAUA,EAAI+L,MAAM,KAAMlM,IAC7CmI,EAAIhI,GAAO6wB,EAAM7wB,IAGrB,OAAOgI,CAAG,EAoDZ,SAASiqB,GAAgBC,EAAWC,EAAWC,GAC7C,MAAMC,EAAWpwB,OAAO4P,KAAKsgB,GAC7B,GAAIE,EAASlvB,SAAWlB,OAAO4P,KAAKqgB,GAAW/uB,OAC7C,OAAO,EAET,IAAK,IAAIoW,EAAI,EAAGA,EAAI8Y,EAASlvB,OAAQoW,IAAK,CACxC,MAAMvZ,EAAMqyB,EAAS9Y,GACrB,GAAI4Y,EAAUnyB,KAASkyB,EAAUlyB,KAASwvB,GAAe4C,EAAcpyB,GACrE,OAAO,CAEX,CACA,OAAO,CACT,CAilBA,MAAMsyB,GAAwB,CAAC,EAC/B,SAASC,GAAMC,EAAQtG,EAAIuD,GAMzB,OAAOgD,GAAQD,EAAQtG,EAAIuD,EAC7B,CACA,SAASgD,GAAQD,EAAQtG,GAAI,UAAEwG,EAAS,KAAEC,EAAI,MAAEC,EAAK,QAAEC,EAAO,UAAEC,GAActZ,GAC5E,IAAIzB,EAaJ,MAOM0R,EDpiDClL,KCoiD2D,OAAzBxG,EAAKgb,SAA2B,EAAShb,EAAG2I,OAASqS,GAAkB,KAChH,IAAI5J,EAkDA6J,EAjDAC,GAAe,EACfC,GAAgB,EA4CpB,GA3CIjP,GAAMuO,IACRrJ,EAASA,IAAMqJ,EAAOxsB,MACtBitB,EAAeE,GAAYX,IAClBxK,GAAWwK,IACpBrJ,EAASA,IAAMqJ,EACfG,GAAO,GACEhyB,EAAQ6xB,IACjBU,GAAgB,EAChBD,EAAeT,EAAOb,MAAMyB,GAAMpL,GAAWoL,IAAMD,GAAYC,KAC/DjK,EAASA,IAAMqJ,EAAO7vB,KAAKywB,GACrBnP,GAAMmP,GACDA,EAAEptB,MACAgiB,GAAWoL,GACbC,GAASD,GACP1Y,EAAW0Y,GACb5J,GAAsB4J,EAAG3J,EAAU,QADrC,KAQPN,EAFOzO,EAAW8X,GAChBtG,EACO/C,IAAMK,GAAsBgJ,EAAQ/I,EAAU,GAE9CN,KACP,IAAIM,IAAYA,EAASuE,YAMzB,OAHIgF,GACFA,IAEKpJ,GACL4I,EACA/I,EACA,EACA,CAAC6J,GACF,EAII5Z,EAGPwS,GAAMyG,EAAM,CACd,MAAMY,EAAapK,EACnBA,EAASA,IAAMkK,GAASE,IAC1B,CAEA,IAKIC,EALAF,EAAa/X,IACfyX,EAAUpS,EAAOU,OAAS,KACxBkI,GAAsBjO,EAAIkO,EAAU,EAAE,CACvC,EAGH,GAAIgK,GAAuB,CAWzB,GAVAH,EAAY5Z,EACPwS,EAEMwG,GACT9I,GAA2BsC,EAAIzC,EAAU,EAAG,CAC1CN,IACA+J,EAAgB,QAAK,EACrBI,IALFnK,IAQY,SAAVyJ,EAIF,OAAOlZ,EAJa,CACpB,MAAMsW,EAAM0D,KACZF,EAAaxD,EAAI2D,mBAAqB3D,EAAI2D,iBAAmB,GAC/D,CAGF,CACA,IAAIzX,EAAWgX,EAAgB,IAAIxyB,MAAM8xB,EAAOrvB,QAAQywB,KAAKtB,IAAyBA,GACtF,MAAM/G,EAAMA,KACV,GAAK3K,EAAO3B,OAGZ,GAAIiN,EAAI,CACN,MAAM/J,EAAWvB,EAAO1B,OACpByT,GAAQM,IAAiBC,EAAgB/Q,EAASwP,MACpD,CAAC3oB,EAAGuQ,IAAM0C,EAAWjT,EAAGkT,EAAS3C,MAC/B0C,EAAWkG,EAAUjG,OACnB8W,GACFA,IAEFpJ,GAA2BsC,EAAIzC,EAAU,EAAG,CAC1CtH,EAEAjG,IAAaoW,QAAwB,EAASY,GAAiBhX,EAAS,KAAOoW,GAAwB,GAAKpW,EAC5GoX,IAEFpX,EAAWiG,EAEf,MACEvB,EAAO1B,KACT,EAGF,IAAIuB,EADJ8K,EAAI7I,eAAiBwJ,EAEP,SAAV0G,EACFnS,EAAY8K,EACO,SAAVqH,EACTnS,EAAYA,IAAMoT,GAAsBtI,EAAK9B,GAAYA,EAASqK,WAElEvI,EAAIY,KAAM,EACN1C,IACF8B,EAAIC,GAAK/B,EAASqE,KACpBrN,EAAYA,IAAM6K,GAASC,IAE7B,MAAM3K,EAAS,IAAIJ,GAAe2I,EAAQ1I,GAKtCyL,EACEwG,EACFnH,IAEArP,EAAW0E,EAAO1B,MAED,SAAV0T,EACTiB,GACEjT,EAAO1B,IAAI1f,KAAKohB,GAChB6I,GAAYA,EAASqK,UAGvBlT,EAAO1B,MAET,MAAM6U,EAAUA,KACdnT,EAAOtB,OACHmK,GAAYA,EAAS/I,OACvBxG,EAAOuP,EAAS/I,MAAM9B,QAASgC,EACjC,EAIF,OAFI4S,GACFA,EAAWpsB,KAAK2sB,GACXA,CACT,CACA,SAASC,GAAcxB,EAAQxsB,EAAOypB,GACpC,MAAMwE,EAAavb,KAAKoP,MAClBqB,EAASxO,EAAS6X,GAAUA,EAAOzvB,SAAS,KAAOmxB,GAAiBD,EAAYzB,GAAU,IAAMyB,EAAWzB,GAAUA,EAAOhzB,KAAKy0B,EAAYA,GACnJ,IAAI/H,EACAxR,EAAW1U,GACbkmB,EAAKlmB,GAELkmB,EAAKlmB,EAAMwoB,QACXiB,EAAUzpB,GAEZ,MAAM+jB,EAAMgJ,GACZoB,GAAmBzb,MACnB,MAAM1Q,EAAMyqB,GAAQtJ,EAAQ+C,EAAG1sB,KAAKy0B,GAAaxE,GAMjD,OALI1F,EACFoK,GAAmBpK,GAEnBqK,KAEKpsB,CACT,CACA,SAASksB,GAAiBlE,EAAKqE,GAC7B,MAAMC,EAAWD,EAAK1sB,MAAM,KAC5B,MAAO,KACL,IAAIoiB,EAAMiG,EACV,IAAK,IAAIzW,EAAI,EAAGA,EAAI+a,EAASnxB,QAAU4mB,EAAKxQ,IAC1CwQ,EAAMA,EAAIuK,EAAS/a,IAErB,OAAOwQ,CAAG,CAEd,CACA,SAASsJ,GAASrtB,EAAOimB,GACvB,IAAKpR,EAAS7U,IAAUA,EAAgB,SACtC,OAAOA,EAGT,IADAimB,EAAOA,GAAwB,IAAI/mB,KAC1B8c,IAAIhc,GACX,OAAOA,EAGT,GADAimB,EAAKhK,IAAIjc,GACLie,GAAMje,GACRqtB,GAASrtB,EAAMA,MAAOimB,QACjB,GAAItrB,EAAQqF,GACjB,IAAK,IAAIuT,EAAI,EAAGA,EAAIvT,EAAM7C,OAAQoW,IAChC8Z,GAASrtB,EAAMuT,GAAI0S,QAEhB,GAAIxR,EAAMzU,IAAUuU,EAAMvU,GAC/BA,EAAM6C,SAASG,IACbqqB,GAASrqB,EAAGijB,EAAK,SAEd,GAAI/Q,EAAclV,GACvB,IAAK,MAAMhG,KAAOgG,EAChBqtB,GAASrtB,EAAMhG,GAAMisB,GAGzB,OAAOjmB,CACT,CAOA,SAASuuB,GAAezK,EAAO0K,GAC7B,MAAMC,EAAmB/E,GACzB,GAAyB,OAArB+E,EAEF,OAAO3K,EAET,MAAML,EAAWiL,GAAeD,IAAqBA,EAAiB3M,MAChE6M,EAAW7K,EAAMgI,OAAShI,EAAMgI,KAAO,IAC7C,IAAK,IAAIvY,EAAI,EAAGA,EAAIib,EAAWrxB,OAAQoW,IAAK,CAC1C,IAAKqb,EAAK5uB,EAAOsW,EAAKuY,EAAYrb,GAAagb,EAAWjb,GACtDqb,IACEla,EAAWka,KACbA,EAAM,CACJE,QAASF,EACTG,QAASH,IAGTA,EAAIjC,MACNU,GAASrtB,GAEX2uB,EAASvtB,KAAK,CACZwtB,MACAnL,WACAzjB,QACAkW,cAAU,EACVI,MACAuY,cAGN,CACA,OAAO/K,CACT,CACA,SAASkL,GAAoBlL,EAAOmL,EAAWxL,EAAUroB,GACvD,MAAMuzB,EAAW7K,EAAMgI,KACjBoD,EAAcD,GAAaA,EAAUnD,KAC3C,IAAK,IAAIvY,EAAI,EAAGA,EAAIob,EAASxxB,OAAQoW,IAAK,CACxC,MAAM4b,EAAUR,EAASpb,GACrB2b,IACFC,EAAQjZ,SAAWgZ,EAAY3b,GAAGvT,OAEpC,IAAI+mB,EAAOoI,EAAQP,IAAIxzB,GACnB2rB,IACFtL,KACAmI,GAA2BmD,EAAMtD,EAAU,EAAG,CAC5CK,EAAM3P,GACNgb,EACArL,EACAmL,IAEFvT,KAEJ,CACF,CAiBA,MAAM0T,GAA0B,CAACzc,SAAUjY,OACrC20B,GAAgC,CACpCC,KAAM5iB,OACN6iB,OAAQhoB,QACRioB,UAAWjoB,QAEXkoB,cAAeL,GACfM,QAASN,GACTO,aAAcP,GACdQ,iBAAkBR,GAElBS,cAAeT,GACfU,QAASV,GACTW,aAAcX,GACdY,iBAAkBZ,GAElBa,eAAgBb,GAChBc,SAAUd,GACVe,cAAef,GACfgB,kBAAmBhB,IAEfiB,GAAqB,CACzBj1B,KAAO,iBACPvB,MAAOw1B,GACPiB,MAAMz2B,GAAO,MAAE+wB,IACb,MAAMnH,EAAW8M,KACXC,EAzCV,WACE,MAAMA,EAAQ,CACZC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAA+B,IAAI/sB,KAQrC,OANAgtB,IAAU,KACRL,EAAMC,WAAY,CAAI,IAExBK,IAAgB,KACdN,EAAMG,cAAe,CAAI,IAEpBH,CACT,CA2BkBO,GACd,IAAIC,EACJ,MAAO,KACL,MAAMC,EAAWrG,EAAM3oB,SAAWivB,GAAyBtG,EAAM3oB,WAAW,GAC5E,IAAKgvB,IAAaA,EAAS9zB,OACzB,OAEF,IAAIg0B,EAAQF,EAAS,GACrB,GAAIA,EAAS9zB,OAAS,EAAG,CACvB,IAAIi0B,GAAW,EACf,IAAK,MAAMzb,KAAKsb,EACd,GAAItb,EAAE5T,OAASmQ,GAAS,CAOtBif,EAAQxb,EACRyb,GAAW,EAET,KACJ,CAEJ,CACA,MAAMC,EAAW/T,GAAMzjB,IACjB,KAAEy1B,GAAS+B,EAIjB,GAAIb,EAAME,UACR,OAAOY,GAAiBH,GAE1B,MAAMI,EAAaC,GAAkBL,GACrC,IAAKI,EACH,OAAOD,GAAiBH,GAE1B,MAAMM,EAAaC,GACjBH,EACAF,EACAb,EACA/M,GAEFkO,GAAmBJ,EAAYE,GAC/B,MAAMG,EAAWnO,EAASoO,QACpBC,EAAgBF,GAAYJ,GAAkBI,GACpD,IAAIG,GAAuB,EAC3B,MAAM,iBAAEC,GAAqBT,EAAWxvB,KACxC,GAAIiwB,EAAkB,CACpB,MAAMh4B,EAAMg4B,SACc,IAAtBhB,EACFA,EAAoBh3B,EACXA,IAAQg3B,IACjBA,EAAoBh3B,EACpB+3B,GAAuB,EAE3B,CACA,GAAID,GAAiBA,EAAc/vB,OAASmQ,MAAa+f,GAAgBV,EAAYO,IAAkBC,GAAuB,CAC5H,MAAMG,EAAeR,GACnBI,EACAT,EACAb,EACA/M,GAGF,GADAkO,GAAmBG,EAAeI,GACrB,WAAT5C,EAQF,OAPAkB,EAAME,WAAY,EAClBwB,EAAaC,WAAa,KACxB3B,EAAME,WAAY,GACa,IAA3BjN,EAAS2O,OAAOnZ,QAClBwK,EAAS2O,QACX,EAEKd,GAAiBH,GACN,WAAT7B,GAAqBiC,EAAWxvB,OAASmQ,KAClDggB,EAAaG,WAAa,CAACle,EAAIme,EAAaC,KACfC,GACzBhC,EACAsB,GAEiBplB,OAAOolB,EAAc93B,MAAQ83B,EAChD3d,EAAGse,SAAW,KACZH,IACAne,EAAGse,cAAW,SACPhB,EAAWc,YAAY,EAEhCd,EAAWc,aAAeA,CAAY,EAG5C,CACA,OAAOpB,CAAK,CAEhB,GAEIuB,GAAiBrC,GACvB,SAASmC,GAAuBhC,EAAO1M,GACrC,MAAM,cAAE8M,GAAkBJ,EAC1B,IAAImC,EAAqB/B,EAAcvgB,IAAIyT,EAAM/hB,MAKjD,OAJK4wB,IACHA,EAAqC12B,OAAOoX,OAAO,MACnDud,EAAc9sB,IAAIggB,EAAM/hB,KAAM4wB,IAEzBA,CACT,CACA,SAASjB,GAAuB5N,EAAOjqB,EAAO22B,EAAO/M,GACnD,MAAM,OACJ8L,EAAM,KACND,EAAI,UACJE,GAAY,EAAK,cACjBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,cAChBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,eAChBC,EAAc,SACdC,EAAQ,cACRC,EAAa,kBACbC,GACEv2B,EACEG,EAAM0S,OAAOoX,EAAM9pB,KACnB24B,EAAqBH,GAAuBhC,EAAO1M,GACnD8O,EAAWA,CAAC7L,EAAM1J,KACtB0J,GAAQnD,GACNmD,EACAtD,EACA,EACApG,EACD,EAEGwV,EAAgBA,CAAC9L,EAAM1J,KAC3B,MAAMiD,EAAOjD,EAAK,GAClBuV,EAAS7L,EAAM1J,GACX1iB,EAAQosB,GACNA,EAAKxnB,OAAOuzB,GAAUA,EAAM31B,QAAU,KACxCmjB,IACOyG,EAAK5pB,QAAU,GACxBmjB,GACF,EAEIyS,EAAQ,CACZzD,OACAE,YACAwD,YAAY7e,GACV,IAAI4S,EAAO0I,EACX,IAAKe,EAAMC,UAAW,CACpB,IAAIlB,EAGF,OAFAxI,EAAOkJ,GAAkBR,CAI7B,CACItb,EAAGse,UACLte,EAAGse,UACD,GAIJ,MAAMQ,EAAeN,EAAmB34B,GACpCi5B,GAAgBhB,GAAgBnO,EAAOmP,IAAiBA,EAAa9e,GAAGse,UAC1EQ,EAAa9e,GAAGse,WAElBG,EAAS7L,EAAM,CAAC5S,GAClB,EACA+e,MAAM/e,GACJ,IAAI4S,EAAO2I,EACPyD,EAAYxD,EACZyD,EAAaxD,EACjB,IAAKY,EAAMC,UAAW,CACpB,IAAIlB,EAKF,OAJAxI,EAAOmJ,GAAYR,EACnByD,EAAYhD,GAAiBR,EAC7ByD,EAAahD,GAAqBR,CAItC,CACA,IAAIyD,GAAS,EACb,MAAM/S,EAAOnM,EAAGmf,SAAYC,IACtBF,IAEJA,GAAS,EAEPT,EADEW,EACOH,EAEAD,EAFY,CAAChf,IAIpB4e,EAAMR,cACRQ,EAAMR,eAERpe,EAAGmf,cAAW,EAAM,EAElBvM,EACF8L,EAAc9L,EAAM,CAAC5S,EAAImM,IAEzBA,GAEJ,EACAkT,MAAMrf,EAAID,GACR,MAAMoI,EAAO5P,OAAOoX,EAAM9pB,KAO1B,GANIma,EAAGmf,UACLnf,EAAGmf,UACD,GAIA9C,EAAMG,aACR,OAAOzc,IAET0e,EAAS/C,EAAe,CAAC1b,IACzB,IAAIkf,GAAS,EACb,MAAM/S,EAAOnM,EAAGse,SAAYc,IACtBF,IAEJA,GAAS,EACTnf,IAEE0e,EADEW,EACOvD,EAEAD,EAFkB,CAAC5b,IAI9BA,EAAGse,cAAW,EACVE,EAAmBrW,KAAUwH,UACxB6O,EAAmBrW,GAC5B,EAEFqW,EAAmBrW,GAAQwH,EACvBgM,EACF+C,EAAc/C,EAAS,CAAC3b,EAAImM,IAE5BA,GAEJ,EACAmT,MAAMC,GACGhC,GAAuBgC,EAAQ75B,EAAO22B,EAAO/M,IAGxD,OAAOsP,CACT,CACA,SAASzB,GAAiBxN,GACxB,GAAI6P,GAAY7P,GAGd,OAFAA,EAAQ+H,GAAW/H,IACbmN,SAAW,KACVnN,CAEX,CACA,SAAS0N,GAAkB1N,GACzB,OAAO6P,GAAY7P,GAASA,EAAMmN,SAAWnN,EAAMmN,SAAS,QAAK,EAASnN,CAC5E,CACA,SAAS6N,GAAmB7N,EAAOiP,GACX,EAAlBjP,EAAMqH,WAAiBrH,EAAM8D,UAC/B+J,GAAmB7N,EAAM8D,UAAUiK,QAASkB,GACjB,IAAlBjP,EAAMqH,WACfrH,EAAM8P,UAAU5H,WAAa+G,EAAMU,MAAM3P,EAAM8P,WAC/C9P,EAAM+P,WAAW7H,WAAa+G,EAAMU,MAAM3P,EAAM+P,aAEhD/P,EAAMkI,WAAa+G,CAEvB,CACA,SAAS7B,GAAyBD,EAAU6C,GAAc,EAAOC,GAC/D,IAAItc,EAAM,GACNuc,EAAqB,EACzB,IAAK,IAAIzgB,EAAI,EAAGA,EAAI0d,EAAS9zB,OAAQoW,IAAK,CACxC,IAAI4d,EAAQF,EAAS1d,GACrB,MAAMvZ,EAAmB,MAAb+5B,EAAoB5C,EAAMn3B,IAAM0S,OAAOqnB,GAAarnB,OAAoB,MAAbykB,EAAMn3B,IAAcm3B,EAAMn3B,IAAMuZ,GACnG4d,EAAMpvB,OAASkyB,IACK,IAAlB9C,EAAM+C,WACRF,IACFvc,EAAMA,EAAIsU,OACRmF,GAAyBC,EAAMF,SAAU6C,EAAa95B,MAE/C85B,GAAe3C,EAAMpvB,OAASmQ,KACvCuF,EAAIrW,KAAY,MAAPpH,EAAc6xB,GAAWsF,EAAO,CAAEn3B,QAASm3B,EAExD,CACA,GAAI6C,EAAqB,EACvB,IAAK,IAAIzgB,EAAI,EAAGA,EAAIkE,EAAIta,OAAQoW,IAC9BkE,EAAIlE,GAAG2gB,WAAa,EAGxB,OAAOzc,CACT,CAEA,SAAS0c,GAAgB1K,EAAS2K,GAChC,OAAO1f,EAAW+U,GAGA,KAAOzV,EAAO,CAAE5Y,KAAMquB,EAAQruB,MAAQg5B,EAAc,CAAE9D,MAAO7G,IAA7D,GACdA,CACN,CAEA,MAAM4K,GAAkB9gB,KAAQA,EAAExR,KAAKuyB,cAyIjCX,GAAe7P,GAAUA,EAAM/hB,KAAKwyB,cA0M1C,SAASC,GAAYzN,EAAMjtB,GACzB26B,GAAsB1N,EAAM,IAAKjtB,EACnC,CACA,SAAS46B,GAAc3N,EAAMjtB,GAC3B26B,GAAsB1N,EAAM,KAAMjtB,EACpC,CACA,SAAS26B,GAAsB1N,EAAMhlB,EAAMjI,EAASizB,IAClD,MAAM4H,EAAc5N,EAAK6N,QAAU7N,EAAK6N,MAAQ,KAC9C,IAAIC,EAAU/6B,EACd,KAAO+6B,GAAS,CACd,GAAIA,EAAQC,cACV,OAEFD,EAAUA,EAAQ/b,MACpB,CACA,OAAOiO,GAAM,GAGf,GADAgO,GAAWhzB,EAAM4yB,EAAa76B,GAC1BA,EAAQ,CACV,IAAI+6B,EAAU/6B,EAAOgf,OACrB,KAAO+b,GAAWA,EAAQ/b,QACpB6a,GAAYkB,EAAQ/b,OAAOgL,QAC7BkR,GAAsBL,EAAa5yB,EAAMjI,EAAQ+6B,GAEnDA,EAAUA,EAAQ/b,MAEtB,CACF,CACA,SAASkc,GAAsBjO,EAAMhlB,EAAMjI,EAAQm7B,GACjD,MAAMC,EAAWH,GACfhzB,EACAglB,EACAkO,GACA,GAGFE,IAAY,KACVjhB,EAAO+gB,EAAclzB,GAAOmzB,EAAS,GACpCp7B,EACL,CASA,SAASi7B,GAAWhzB,EAAMglB,EAAMjtB,EAASizB,GAAiBqI,GAAU,GAClE,GAAIt7B,EAAQ,CACV,MAAMi5B,EAAQj5B,EAAOiI,KAAUjI,EAAOiI,GAAQ,IACxC4yB,EAAc5N,EAAKsO,QAAUtO,EAAKsO,MAAQ,IAAIhY,KAClD,GAAIvjB,EAAOkuB,YACT,OAEFvM,KACA0S,GAAmBr0B,GACnB,MAAMkI,EAAM4hB,GAA2BmD,EAAMjtB,EAAQiI,EAAMsb,GAG3D,OAFA+Q,KACA1S,KACO1Z,CAAG,GAOZ,OALIozB,EACFrC,EAAMuC,QAAQX,GAEd5B,EAAM3xB,KAAKuzB,GAENA,CACT,CAMF,CA5QsBj0B,OACAA,OA4QtB,MAAM60B,GAAcC,GAAc,CAACzO,EAAMjtB,EAASizB,OAE9CU,IAAuC,OAAd+H,IAAuBT,GAAWS,GAAW,IAAInY,IAAS0J,KAAQ1J,IAAOvjB,GAEhG27B,GAAgBF,GAAW,MAC3B1E,GAAY0E,GAAW,KACvBG,GAAiBH,GAAW,MAC5BI,GAAYJ,GAAW,KACvBzE,GAAkByE,GAAW,OAC7BJ,GAAcI,GAAW,MACzBK,GAAmBL,GAAW,MAC9BM,GAAoBN,GACxB,OAEIO,GAAkBP,GACtB,OAEF,SAASQ,GAAgBhP,EAAMjtB,EAASizB,IACtCgI,GAAW,KAAMhO,EAAMjtB,EACzB,CAEA,MAAMk8B,GAAa,aAEnB,SAASC,GAAiB76B,EAAM86B,GAC9B,OAAOC,GAAaH,GAAY56B,GAAM,EAAM86B,IAAuB96B,CACrE,CACA,MAAMg7B,GAAyB9b,OAAO+b,IAAI,SAQ1C,SAASC,GAAiBl7B,GACxB,OAAO+6B,GAbU,aAae/6B,EAClC,CACA,SAAS+6B,GAAap0B,EAAM3G,EAAMm7B,GAAc,EAAML,GAAqB,GACzE,MAAMzS,EAAWiG,IAA4BqD,GAC7C,GAAItJ,EAAU,CACZ,MAAMgH,EAAYhH,EAAS1hB,KAC3B,GAAIA,IAASi0B,GAAY,CACvB,MAAMQ,EAooJZ,SAA0B/L,EAAWgM,GAAkB,GACrD,OAAO/hB,EAAW+V,GAAaA,EAAUiM,aAAejM,EAAUrvB,KAAOqvB,EAAUrvB,MAAQq7B,GAAmBhM,EAAUkM,MAC1H,CAtoJuBC,CACfnM,GACA,GAGF,GAAI+L,IAAaA,IAAap7B,GAAQo7B,IAAa9gB,EAASta,IAASo7B,IAAa1gB,EAAWJ,EAASta,KACpG,OAAOqvB,CAEX,CACA,MAAMzoB,EAGJmjB,GAAQ1B,EAAS1hB,IAAS0oB,EAAU1oB,GAAO3G,IAC3C+pB,GAAQ1B,EAASY,WAAWtiB,GAAO3G,GAErC,OAAK4G,GAAOk0B,EACHzL,EAOFzoB,CACT,CAKF,CACA,SAASmjB,GAAQ0R,EAAUz7B,GACzB,OAAOy7B,IAAaA,EAASz7B,IAASy7B,EAASnhB,EAASta,KAAUy7B,EAAS/gB,EAAWJ,EAASta,KACjG,CAEA,SAAS07B,GAAWtK,EAAQuK,EAAYvhB,EAAOuD,GAC7C,IAAItB,EACJ,MAAMsR,EAASvT,GAASA,EAAMuD,GAC9B,GAAIpe,EAAQ6xB,IAAW7X,EAAS6X,GAAS,CACvC/U,EAAM,IAAI/c,MAAM8xB,EAAOrvB,QACvB,IAAK,IAAIoW,EAAI,EAAGiG,EAAIgT,EAAOrvB,OAAQoW,EAAIiG,EAAGjG,IACxCkE,EAAIlE,GAAKwjB,EAAWvK,EAAOjZ,GAAIA,OAAG,EAAQwV,GAAUA,EAAOxV,GAE/D,MAAO,GAAsB,iBAAXiZ,EAAqB,CAIrC/U,EAAM,IAAI/c,MAAM8xB,GAChB,IAAK,IAAIjZ,EAAI,EAAGA,EAAIiZ,EAAQjZ,IAC1BkE,EAAIlE,GAAKwjB,EAAWxjB,EAAI,EAAGA,OAAG,EAAQwV,GAAUA,EAAOxV,GAE3D,MAAO,GAAIsB,EAAS2X,GAClB,GAAIA,EAAOlS,OAAO4F,UAChBzI,EAAM/c,MAAMs8B,KACVxK,GACA,CAACntB,EAAMkU,IAAMwjB,EAAW13B,EAAMkU,OAAG,EAAQwV,GAAUA,EAAOxV,UAEvD,CACL,MAAM1H,EAAO5P,OAAO4P,KAAK2gB,GACzB/U,EAAM,IAAI/c,MAAMmR,EAAK1O,QACrB,IAAK,IAAIoW,EAAI,EAAGiG,EAAI3N,EAAK1O,OAAQoW,EAAIiG,EAAGjG,IAAK,CAC3C,MAAMvZ,EAAM6R,EAAK0H,GACjBkE,EAAIlE,GAAKwjB,EAAWvK,EAAOxyB,GAAMA,EAAKuZ,EAAGwV,GAAUA,EAAOxV,GAC5D,CACF,MAEAkE,EAAM,GAKR,OAHIjC,IACFA,EAAMuD,GAAStB,GAEVA,CACT,CAqBA,SAASwf,GAAWrM,EAAOxvB,EAAMvB,EAAQ,CAAC,EAAGq9B,EAAUC,GACrD,GAAIzN,GAAyB0N,MAAQ1N,GAAyB5Q,QAAUub,GAAe3K,GAAyB5Q,SAAW4Q,GAAyB5Q,OAAOse,KAGzJ,MAFa,YAATh8B,IACFvB,EAAMuB,KAAOA,GACRqwB,GAAY,OAAQ5xB,EAAOq9B,GAAYA,KAEhD,IAAIG,EAAOzM,EAAMxvB,GAObi8B,GAAQA,EAAK9M,KACf8M,EAAKjN,IAAK,GAEZkN,KACA,MAAMC,EAAmBF,GAAQG,GAAiBH,EAAKx9B,IACjD49B,EAAWC,GACfzD,GACA,CACEj6B,IAAKH,EAAMG,KAEXu9B,GAAoBA,EAAiBv9B,KAAQ,IAAGoB,KAElDm8B,IAAqBL,EAAWA,IAAa,IAC7CK,GAAgC,IAAZ3M,EAAMla,EAAU,IAAM,GAQ5C,OANKymB,GAAaM,EAASE,UACzBF,EAASG,aAAe,CAACH,EAASE,QAAU,OAE1CN,GAAQA,EAAK9M,KACf8M,EAAKjN,IAAK,GAELqN,CACT,CACA,SAASD,GAAiBK,GACxB,OAAOA,EAAOlM,MAAMwF,IACb2G,GAAQ3G,IAETA,EAAMpvB,OAASmQ,MAEfif,EAAMpvB,OAASkyB,KAAauD,GAAiBrG,EAAMF,aAGpD4G,EAAS,IAChB,CAcA,MAAME,GAAqBxkB,GACpBA,EAEDykB,GAAoBzkB,GACfmb,GAAenb,IAAMA,EAAEuO,MACzBiW,GAAkBxkB,EAAEuF,QAHlB,KAKLmf,GAGYjkB,EAAuB/X,OAAOoX,OAAO,MAAO,CAC1D6kB,EAAI3kB,GAAMA,EACV4kB,IAAM5kB,GAAMA,EAAEuQ,MAAM3P,GACpBikB,MAAQ7kB,GAAMA,EAAEhZ,KAChB89B,OAAS9kB,GAA6EA,EAAE1Z,MACxFy+B,OAAS/kB,GAA6EA,EAAEsX,MACxF0N,OAAShlB,GAA6EA,EAAEqX,MACxF4N,MAAQjlB,GAA4EA,EAAEklB,KACtFC,QAAUnlB,GAAMwkB,GAAkBxkB,EAAEuF,QACpC6f,MAAQplB,GAAMwkB,GAAkBxkB,EAAEmY,MAClCkN,MAAQrlB,GAAMA,EAAEsT,KAChBgS,SAAWtlB,GAAM2V,oBAAsB4P,GAAqBvlB,GAAKA,EAAExR,KACnEg3B,aAAexlB,GAAMA,EAAEylB,IAAMzlB,EAAEylB,EAAI,IAAM1T,GAAS/R,EAAE6e,SACpD6G,UAAY1lB,GAAMA,EAAEqD,IAAMrD,EAAEqD,EAAIyO,GAAS7rB,KAAK+Z,EAAEuO,QAChDoX,OAAS3lB,GAAM2V,oBAAsB8E,GAAcx0B,KAAK+Z,GAAKG,IAI3DylB,GAAkBA,CAAC3I,EAAOx2B,IAAQw2B,IAAUhd,IAAcgd,EAAM4I,iBAAmB9kB,EAAOkc,EAAOx2B,GACjGq/B,GAA8B,CAClChpB,KAAMK,EAAG+S,GAAYzpB,GACnB,MAAM,IAAEgwB,EAAG,WAAEgB,EAAU,KAAEzwB,EAAI,MAAEV,EAAK,YAAEy/B,EAAW,KAAEv3B,EAAI,WAAEsiB,GAAeZ,EAIxE,IAAI8V,EACJ,GAAe,MAAXv/B,EAAI,GAAY,CAClB,MAAM4c,EAAI0iB,EAAYt/B,GACtB,QAAU,IAAN4c,EACF,OAAQA,GACN,KAAK,EACH,OAAOoU,EAAWhxB,GACpB,KAAK,EACH,OAAOO,EAAKP,GACd,KAAK,EACH,OAAOgwB,EAAIhwB,GACb,KAAK,EACH,OAAOH,EAAMG,OAEZ,IAAIm/B,GAAgBnO,EAAYhxB,GAErC,OADAs/B,EAAYt/B,GAAO,EACZgxB,EAAWhxB,GACb,GAAIO,IAASiZ,GAAac,EAAO/Z,EAAMP,GAE5C,OADAs/B,EAAYt/B,GAAO,EACZO,EAAKP,GACP,IAGJu/B,EAAkB9V,EAASkH,aAAa,KAAOrW,EAAOilB,EAAiBv/B,GAGxE,OADAs/B,EAAYt/B,GAAO,EACZH,EAAMG,GACR,GAAIgwB,IAAQxW,GAAac,EAAO0V,EAAKhwB,GAE1C,OADAs/B,EAAYt/B,GAAO,EACZgwB,EAAIhwB,GACDkvB,sBAAuBsQ,KACjCF,EAAYt/B,GAAO,EACrB,CACF,CACA,MAAMy/B,EAAexB,GAAoBj+B,GACzC,IAAI0/B,EAAWC,EACf,OAAIF,GACU,WAARz/B,GACF2hB,GAAM8H,EAAU,EAAOzpB,GAKlBy/B,EAAahW,KAGnBiW,EAAY33B,EAAK63B,gBAAkBF,EAAYA,EAAU1/B,IAEnD0/B,EACE1P,IAAQxW,GAAac,EAAO0V,EAAKhwB,IAC1Cs/B,EAAYt/B,GAAO,EACZgwB,EAAIhwB,KAGX2/B,EAAmBtV,EAAWC,OAAOqV,iBAAkBrlB,EAAOqlB,EAAkB3/B,GAGvE2/B,EAAiB3/B,QALrB,EAsBT,EACA8J,KAAM4M,EAAG+S,GAAYzpB,EAAKgG,GACxB,MAAM,KAAEzF,EAAI,WAAEywB,EAAU,IAAEhB,GAAQvG,EAClC,OAAI0V,GAAgBnO,EAAYhxB,IAC9BgxB,EAAWhxB,GAAOgG,GACX,GAIEzF,IAASiZ,GAAac,EAAO/Z,EAAMP,IAC5CO,EAAKP,GAAOgG,GACL,KACEsU,EAAOmP,EAAS5pB,MAAOG,IAInB,MAAXA,EAAI,IAAcA,EAAI+L,MAAM,KAAM0d,IAalCuG,EAAIhwB,GAAOgG,EAGR,GACT,EACAgc,KACEtL,GAAG,KAAEnW,EAAI,WAAEywB,EAAU,YAAEsO,EAAW,IAAEtP,EAAG,WAAE3F,EAAU,aAAEsG,IACpD3wB,GACD,IAAIu/B,EACJ,QAASD,EAAYt/B,IAAQO,IAASiZ,GAAac,EAAO/Z,EAAMP,IAAQm/B,GAAgBnO,EAAYhxB,KAASu/B,EAAkB5O,EAAa,KAAOrW,EAAOilB,EAAiBv/B,IAAQsa,EAAO0V,EAAKhwB,IAAQsa,EAAO2jB,GAAqBj+B,IAAQsa,EAAO+P,EAAWC,OAAOqV,iBAAkB3/B,EACxR,EACA8I,eAAehJ,EAAQE,EAAK6/B,GAM1B,OALsB,MAAlBA,EAAWxpB,IACbvW,EAAO4W,EAAE4oB,YAAYt/B,GAAO,EACnBsa,EAAOulB,EAAY,UAC5BnnB,KAAK5O,IAAIhK,EAAQE,EAAK6/B,EAAW75B,MAAO,MAEnCge,QAAQlb,eAAehJ,EAAQE,EAAK6/B,EAC7C,GAmLF,SAASC,GAAsBjgC,GAC7B,OAAOc,EAAQd,GAASA,EAAMwe,QAC5B,CAAClB,EAAY9T,KAAO8T,EAAW9T,GAAK,KAAM8T,IAC1C,CAAC,GACCtd,CACN,CAuEA,IAAI2/B,IAAoB,EAsOxB,SAAS5G,GAAS7L,EAAMtD,EAAU1hB,GAChC6hB,GACEjpB,EAAQosB,GAAQA,EAAKpqB,KAAKyT,GAAMA,EAAE5W,KAAKiqB,EAAS3B,SAAUiF,EAAKvtB,KAAKiqB,EAAS3B,OAC7E2B,EACA1hB,EAEJ,CACA,SAASg4B,GAAc55B,EAAK6pB,EAAKiE,EAAYj0B,GAC3C,MAAMmpB,EAASnpB,EAAI+C,SAAS,KAAOmxB,GAAiBD,EAAYj0B,GAAO,IAAMi0B,EAAWj0B,GACxF,GAAI2a,EAASxU,GAAM,CACjB,MAAMqoB,EAAUwB,EAAI7pB,GAChBuU,EAAW8T,IACb+D,GAAMpJ,EAAQqF,EAIlB,MAAO,GAAI9T,EAAWvU,GACpBosB,GAAMpJ,EAAQhjB,EAAI3G,KAAKy0B,SAClB,GAAIpZ,EAAS1U,GAClB,GAAIxF,EAAQwF,GACVA,EAAI0C,SAAS6M,GAAMqqB,GAAcrqB,EAAGsa,EAAKiE,EAAYj0B,SAChD,CACL,MAAMwuB,EAAU9T,EAAWvU,EAAIqoB,SAAWroB,EAAIqoB,QAAQhvB,KAAKy0B,GAAcjE,EAAI7pB,EAAIqoB,SAC7E9T,EAAW8T,IACb+D,GAAMpJ,EAAQqF,EAASroB,EAI3B,CAIJ,CACA,SAAS24B,GAAqBrV,GAC5B,MAAMuW,EAAOvW,EAAS1hB,MAChB,OAAEunB,EAAQC,QAAS0Q,GAAmBD,GAE1C1Q,OAAQ4Q,EACRC,aAAc3kB,EACd8O,QAAQ,sBAAE8V,IACR3W,EAASY,WACP0E,EAASvT,EAAMnF,IAAI2pB,GACzB,IAAIK,EAmBJ,OAlBItR,EACFsR,EAAWtR,EACDmR,EAAa/8B,QAAWmsB,GAAW2Q,GAK7CI,EAAW,CAAC,EACRH,EAAa/8B,QACf+8B,EAAar3B,SACVy3B,GAAMC,GAAaF,EAAUC,EAAGF,GAAuB,KAG5DG,GAAaF,EAAUL,EAAMI,IAT3BC,EAAWL,EAWXnlB,EAASmlB,IACXxkB,EAAM1R,IAAIk2B,EAAMK,GAEXA,CACT,CACA,SAASE,GAAaC,EAAIxD,EAAMyD,EAAQ5R,GAAU,GAChD,MAAM,OAAES,EAAQC,QAAS0Q,GAAmBjD,EACxCiD,GACFM,GAAaC,EAAIP,EAAgBQ,GAAQ,GAEvCnR,GACFA,EAAOzmB,SACJy3B,GAAMC,GAAaC,EAAIF,EAAGG,GAAQ,KAGvC,IAAK,MAAMzgC,KAAOg9B,EAChB,GAAInO,GAAmB,WAAR7uB,OAIR,CACL,MAAM0gC,EAAQC,GAA0B3gC,IAAQygC,GAAUA,EAAOzgC,GACjEwgC,EAAGxgC,GAAO0gC,EAAQA,EAAMF,EAAGxgC,GAAMg9B,EAAKh9B,IAAQg9B,EAAKh9B,EACrD,CAEF,OAAOwgC,CACT,CACA,MAAMG,GAA4B,CAChCpgC,KAAMqgC,GACN/gC,MAAOghC,GACP7R,MAAO6R,GAEPC,QAASC,GACTve,SAAUue,GAEVC,aAAcC,GACdC,QAASD,GACTE,YAAaF,GACbnM,QAASmM,GACTG,aAAcH,GACdlM,QAASkM,GACTI,cAAeJ,GACfK,cAAeL,GACfM,UAAWN,GACXO,UAAWP,GACXQ,UAAWR,GACXS,YAAaT,GACbU,cAAeV,GACfW,eAAgBX,GAEhBY,WAAYd,GACZvM,WAAYuM,GAEZxO,MAoDF,SAA2BiO,EAAIxD,GAC7B,IAAKwD,EACH,OAAOxD,EACT,IAAKA,EACH,OAAOwD,EACT,MAAMsB,EAAS9nB,EAAuB/X,OAAOoX,OAAO,MAAOmnB,GAC3D,IAAK,MAAMxgC,KAAOg9B,EAChB8E,EAAO9hC,GAAOihC,GAAaT,EAAGxgC,GAAMg9B,EAAKh9B,IAE3C,OAAO8hC,CACT,EA5DEC,QAASnB,GACToB,OAgBF,SAAqBxB,EAAIxD,GACvB,OAAO+D,GAAmBkB,GAAgBzB,GAAKyB,GAAgBjF,GACjE,GAhBA,SAAS4D,GAAYJ,EAAIxD,GACvB,OAAKA,EAGAwD,EAGE,WACL,OAAQxmB,EACNU,EAAW8lB,GAAMA,EAAGp+B,KAAKsW,KAAMA,MAAQ8nB,EACvC9lB,EAAWsiB,GAAQA,EAAK56B,KAAKsW,KAAMA,MAAQskB,EAE/C,EAPSA,EAHAwD,CAWX,CAIA,SAASyB,GAAgB97B,GACvB,GAAIxF,EAAQwF,GAAM,CAChB,MAAM6B,EAAM,CAAC,EACb,IAAK,IAAIuR,EAAI,EAAGA,EAAIpT,EAAIhD,OAAQoW,IAC9BvR,EAAI7B,EAAIoT,IAAMpT,EAAIoT,GAEpB,OAAOvR,CACT,CACA,OAAO7B,CACT,CACA,SAAS86B,GAAaT,EAAIxD,GACxB,OAAOwD,EAAK,IAAI,IAAIt7B,IAAI,GAAG6sB,OAAOyO,EAAIxD,KAAUA,CAClD,CACA,SAAS+D,GAAmBP,EAAIxD,GAC9B,OAAOwD,EAAKxmB,EAAuB/X,OAAOoX,OAAO,MAAOmnB,EAAIxD,GAAQA,CACtE,CACA,SAAS6D,GAAyBL,EAAIxD,GACpC,OAAIwD,EACE7/B,EAAQ6/B,IAAO7/B,EAAQq8B,GAClB,IAAoB,IAAI93B,IAAI,IAAIs7B,KAAOxD,KAEzChjB,EACW/X,OAAOoX,OAAO,MAC9BymB,GAAsBU,GACtBV,GAA8B,MAAR9C,EAAeA,EAAO,CAAC,IAGxCA,CAEX,CAaA,SAASkF,KACP,MAAO,CACLxyB,IAAK,KACL4a,OAAQ,CACN6X,YAAaxoB,EACbyoB,aAAa,EACbzC,iBAAkB,CAAC,EACnBS,sBAAuB,CAAC,EACxB7V,kBAAc,EACd8X,iBAAa,EACbC,gBAAiB,CAAC,GAEpBhT,OAAQ,GACRuS,WAAY,CAAC,EACbrN,WAAY,CAAC,EACb+N,SAA0BtgC,OAAOoX,OAAO,MACxC8mB,aAA8B,IAAIlgB,QAClCuiB,WAA4B,IAAIviB,QAChC6O,WAA4B,IAAI7O,QAEpC,CACA,IAAIwiB,GAAQ,EACZ,SAASC,GAAa5R,EAAQ6R,GAC5B,OAAO,SAAmBC,EAAeC,EAAY,MAC9CnoB,EAAWkoB,KACdA,EAAgB5oB,EAAO,CAAC,EAAG4oB,IAEZ,MAAbC,GAAsBhoB,EAASgoB,KAEjCA,EAAY,MAEd,MAAMC,EAAUZ,KAaVa,EAAmC,IAAI79B,IAC7C,IAAIuxB,GAAY,EAChB,MAAM/mB,EAAMozB,EAAQpzB,IAAM,CACxBszB,KAAMP,KACNQ,WAAYL,EACZM,OAAQL,EACRM,WAAY,KACZC,SAAUN,EACVO,UAAW,KACXC,WACIhZ,aACF,OAAOwY,EAAQxY,MACjB,EACIA,WAAOthB,GAMX,EACAu6B,IAAGA,CAACC,KAAW/T,KACTsT,EAAiB/gB,IAAIwhB,KAEdA,GAAU9oB,EAAW8oB,EAAOC,UACrCV,EAAiB9gB,IAAIuhB,GACrBA,EAAOC,QAAQ/zB,KAAQ+f,IACd/U,EAAW8oB,KACpBT,EAAiB9gB,IAAIuhB,GACrBA,EAAO9zB,KAAQ+f,KAMV/f,GAETg0B,MAAMA,IACAxU,sBACG4T,EAAQxT,OAAOvsB,SAAS2gC,IAC3BZ,EAAQxT,OAAOloB,KAAKs8B,IASjBh0B,GAETke,UAASA,CAACxsB,EAAMwsB,IAITA,GAMLkV,EAAQjB,WAAWzgC,GAAQwsB,EACpBle,GANEozB,EAAQjB,WAAWzgC,GAQ9BuiC,UAASA,CAACviC,EAAMuiC,IAITA,GAMLb,EAAQtO,WAAWpzB,GAAQuiC,EACpBj0B,GANEozB,EAAQtO,WAAWpzB,GAQ9BwiC,MAAMC,EAAeC,EAAWC,GAC9B,IAAKtN,EAAW,CAOd,MAAM3M,EAAQ2H,GACZmR,EACAC,GAoBF,OAlBA/Y,EAAMO,WAAayY,EAMfgB,GAAanB,EACfA,EAAQ7Y,EAAO+Z,GAEf/S,EAAOhH,EAAO+Z,EAAeE,GAE/BtN,GAAY,EACZ/mB,EAAIyzB,WAAaU,EACjBA,EAAcG,YAAct0B,EACqB2e,wBAC/C3e,EAAI2zB,UAAYvZ,EAAM8D,UArtGlC,SAAyBle,EAAK4zB,GAC5B1W,GAAO,WAA2Bld,EAAK4zB,EAAS,CAC9CrJ,SAAQ,GACRgK,QACA/rB,WACAgsB,OAAMA,IAEV,CA+sGYC,CAAgBz0B,EAAK4zB,KAEhB5O,GAAe5K,EAAM8D,YAAc9D,EAAM8D,UAAU9F,KAC5D,CAMF,EACAsc,UACM3N,IACF3F,EAAO,KAAMphB,EAAIyzB,YACgC9U,wBAC/C3e,EAAI2zB,UAAY,KA5tG5B,SAA4B3zB,GAC1Bkd,GAAO,cAAiCld,EAC1C,CA2tGY20B,CAAmB30B,WAEdA,EAAIyzB,WAAWa,YAI1B,EACAjC,QAAOA,CAAC/hC,EAAKgG,KAMX88B,EAAQP,SAASviC,GAAOgG,EACjB0J,GAET40B,eAAe/oB,GACbgpB,GAAa70B,EACb,IACE,OAAO6L,GACT,CAAE,QACAgpB,GAAa,IACf,CACF,GAEF,OAAO70B,CACT,CACF,CACA,IAAI60B,GAAa,KAgBjB,SAASvC,GAAOhiC,EAAKwkC,EAAcC,GAAwB,GACzD,MAAMhb,EAAWsJ,IAAmBrD,GACpC,GAAIjG,GAAY8a,GAAY,CAC1B,MAAMhC,EAAW9Y,EAA8B,MAAnBA,EAAS3K,OAAiB2K,EAASK,MAAMO,YAAcZ,EAASK,MAAMO,WAAWkY,SAAW9Y,EAAS3K,OAAOyjB,SAAWgC,GAAWnB,SAASb,SACvK,GAAIA,GAAYviC,KAAOuiC,EACrB,OAAOA,EAASviC,GACX,GAAI0kC,UAAUvhC,OAAS,EAC5B,OAAOshC,GAAyB/pB,EAAW8pB,GAAgBA,EAAapiC,KAAKqnB,GAAYA,EAAS3B,OAAS0c,CAI/G,CAGF,CAmIA,SAASG,GAAalb,EAAU4N,EAAUx3B,EAAOgxB,GAC/C,MAAOpB,EAASmV,GAAgBnb,EAASkH,aACzC,IACIkU,EADAC,GAAkB,EAEtB,GAAIzN,EACF,IAAK,IAAIr3B,KAAOq3B,EAAU,CACxB,GAAIhc,EAAerb,GACjB,SAEF,MAAMgG,EAAQqxB,EAASr3B,GACvB,IAAI+kC,EACAtV,GAAWnV,EAAOmV,EAASsV,EAAWrpB,EAAS1b,IAC5C4kC,GAAiBA,EAAa7hC,SAASgiC,IAGzCF,IAAkBA,EAAgB,CAAC,IAAIE,GAAY/+B,EAFpDnG,EAAMklC,GAAY/+B,EAIVwpB,GAAe/F,EAAS2I,aAAcpyB,IAC1CA,KAAO6wB,GAAU7qB,IAAU6qB,EAAM7wB,KACrC6wB,EAAM7wB,GAAOgG,EACb8+B,GAAkB,EAGxB,CAEF,GAAIF,EAAc,CAChB,MAAMI,EAAkB1hB,GAAMzjB,GACxBolC,EAAaJ,GAAiBrrB,EACpC,IAAK,IAAID,EAAI,EAAGA,EAAIqrB,EAAazhC,OAAQoW,IAAK,CAC5C,MAAMvZ,EAAM4kC,EAAarrB,GACzB1Z,EAAMG,GAAOklC,GACXzV,EACAuV,EACAhlC,EACAilC,EAAWjlC,GACXypB,GACCnP,EAAO2qB,EAAYjlC,GAExB,CACF,CACA,OAAO8kC,CACT,CACA,SAASI,GAAiBzV,EAAS5vB,EAAOG,EAAKgG,EAAOyjB,EAAU0b,GAC9D,MAAMC,EAAM3V,EAAQzvB,GACpB,GAAW,MAAPolC,EAAa,CACf,MAAMC,EAAa/qB,EAAO8qB,EAAK,WAC/B,GAAIC,QAAwB,IAAVr/B,EAAkB,CAClC,MAAMw+B,EAAeY,EAAIn9B,QACzB,GAAIm9B,EAAIr9B,OAAS4Q,WAAaysB,EAAIE,aAAe5qB,EAAW8pB,GAAe,CACzE,MAAM,cAAEe,GAAkB9b,EACtBzpB,KAAOulC,EACTv/B,EAAQu/B,EAAcvlC,IAEtBm0B,GAAmB1K,GACnBzjB,EAAQu/B,EAAcvlC,GAAOwkC,EAAapiC,KACxC,KACAvC,GAEFu0B,KAEJ,MACEpuB,EAAQw+B,CAEZ,CACIY,EAAI,KACFD,IAAaE,EACfr/B,GAAQ,GACCo/B,EAAI,IAAsC,KAAVp/B,GAAgBA,IAAU6V,EAAU7b,KAC7EgG,GAAQ,GAGd,CACA,OAAOA,CACT,CACA,SAASw/B,GAAsB5W,EAAMvE,EAAYwE,GAAU,GACzD,MAAMrT,EAAQ6O,EAAWmY,WACnBzT,EAASvT,EAAMnF,IAAIuY,GACzB,GAAIG,EACF,OAAOA,EAET,MAAM5oB,EAAMyoB,EAAK/uB,MACXsd,EAAa,CAAC,EACdynB,EAAe,GACrB,IAAI3V,GAAa,EACjB,GAAIC,sBAAwBxU,EAAWkU,GAAO,CAC5C,MAAM6W,EAAerW,IACnBH,GAAa,EACb,MAAOpvB,EAAOgS,GAAQ2zB,GAAsBpW,EAAM/E,GAAY,GAC9DrQ,EAAOmD,EAAYtd,GACfgS,GACF+yB,EAAax9B,QAAQyK,EAAK,GAEzBgd,GAAWxE,EAAWiF,OAAOnsB,QAChCknB,EAAWiF,OAAOzmB,QAAQ48B,GAExB7W,EAAKW,SACPkW,EAAY7W,EAAKW,SAEfX,EAAKU,QACPV,EAAKU,OAAOzmB,QAAQ48B,EAExB,CACA,IAAKt/B,IAAQ8oB,EAIX,OAHIpU,EAAS+T,IACXpT,EAAM1R,IAAI8kB,EAAMnV,GAEXA,EAET,GAAI9Y,EAAQwF,GACV,IAAK,IAAIoT,EAAI,EAAGA,EAAIpT,EAAIhD,OAAQoW,IAAK,CAInC,MAAMmsB,EAAgBhqB,EAASvV,EAAIoT,IAC/BosB,GAAiBD,KACnBvoB,EAAWuoB,GAAiBlsB,EAEhC,MACK,GAAIrT,EAIT,IAAK,MAAMnG,KAAOmG,EAAK,CACrB,MAAMu/B,EAAgBhqB,EAAS1b,GAC/B,GAAI2lC,GAAiBD,GAAgB,CACnC,MAAMN,EAAMj/B,EAAInG,GACV4lC,EAAOzoB,EAAWuoB,GAAiB/kC,EAAQykC,IAAQ1qB,EAAW0qB,GAAO,CAAEr9B,KAAMq9B,GAAQprB,EAAO,CAAC,EAAGorB,GACtG,GAAIQ,EAAM,CACR,MAAMC,EAAeC,GAAav4B,QAASq4B,EAAK79B,MAC1Cg+B,EAAcD,GAAapzB,OAAQkzB,EAAK79B,MAC9C69B,EAAK,GAAsBC,GAAgB,EAC3CD,EAAK,GAA0BG,EAAc,GAAKF,EAAeE,GAC7DF,GAAgB,GAAKvrB,EAAOsrB,EAAM,aACpChB,EAAax9B,KAAKs+B,EAEtB,CACF,CACF,CAEF,MAAM19B,EAAM,CAACmV,EAAYynB,GAIzB,OAHI/pB,EAAS+T,IACXpT,EAAM1R,IAAI8kB,EAAM5mB,GAEXA,CACT,CACA,SAAS29B,GAAiB3lC,GACxB,MAAe,MAAXA,EAAI,EAMV,CACA,SAASgmC,GAAQC,GACf,MAAMj/B,EAAQi/B,GAAQA,EAAK/hC,WAAW8C,MAAM,8BAC5C,OAAOA,EAAQA,EAAM,GAAc,OAATi/B,EAAgB,OAAS,EACrD,CACA,SAASC,GAAWhyB,EAAGC,GACrB,OAAO6xB,GAAQ9xB,KAAO8xB,GAAQ7xB,EAChC,CACA,SAAS2xB,GAAa/9B,EAAMo+B,GAC1B,OAAIxlC,EAAQwlC,GACHA,EAAcC,WAAWC,GAAMH,GAAWG,EAAGt+B,KAC3C2S,EAAWyrB,IACbD,GAAWC,EAAep+B,GAAQ,GAEnC,CACV,CAqGA,MAAMu+B,GAAiBtmC,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3CumC,GAAsBvgC,GAAUrF,EAAQqF,GAASA,EAAMrD,IAAI0uB,IAAkB,CAACA,GAAerrB,IAC7FwgC,GAAgBA,CAACxmC,EAAKymC,EAASzW,KACnC,GAAIyW,EAAQvW,GACV,OAAOuW,EAET,MAAMtpB,EAAa4S,IAAQ,IAAI1M,IAMtBkjB,GAAmBE,KAAWpjB,KACpC2M,GAEH,OADA7S,EAAWoT,IAAK,EACTpT,CAAU,EAEbupB,GAAuBA,CAACC,EAAU/V,EAAOnH,KAC7C,MAAMuG,EAAM2W,EAASC,KACrB,IAAK,MAAM5mC,KAAO2mC,EAAU,CAC1B,GAAIL,GAActmC,GAChB,SACF,MAAMgG,EAAQ2gC,EAAS3mC,GACvB,GAAI0a,EAAW1U,GACb4qB,EAAM5wB,GAAOwmC,GAAcxmC,EAAKgG,EAAOgqB,QAClC,GAAa,MAAThqB,EAAe,CAMxB,MAAMmX,EAAaopB,GAAmBvgC,GACtC4qB,EAAM5wB,GAAO,IAAMmd,CACrB,CACF,GAEI0pB,GAAsBA,CAACpd,EAAUwN,KAMrC,MAAM9Z,EAAaopB,GAAmBtP,GACtCxN,EAASmH,MAAM3oB,QAAU,IAAMkV,CAAU,EAErC2pB,GAAYA,CAACrd,EAAUwN,KAC3B,GAA+B,GAA3BxN,EAASK,MAAMqH,UAAgB,CACjC,MAAMppB,EAAOkvB,EAASvgB,EAClB3O,GACF0hB,EAASmH,MAAQtN,GAAM2T,GACvB1a,EAAI0a,EAAU,IAAKlvB,IAEnB2+B,GACEzP,EACAxN,EAASmH,MAAQ,CAAC,EAExB,MACEnH,EAASmH,MAAQ,CAAC,EACdqG,GACF4P,GAAoBpd,EAAUwN,GAGlC1a,EAAIkN,EAASmH,MAAOmW,GAAmB,EAAE,EAErCC,GAAcA,CAACvd,EAAUwN,EAAUgQ,KACvC,MAAM,MAAEnd,EAAK,MAAE8G,GAAUnH,EACzB,IAAIyd,GAAoB,EACpBC,EAA2B3tB,EAC/B,GAAsB,GAAlBsQ,EAAMqH,UAAgB,CACxB,MAAMppB,EAAOkvB,EAASvgB,EAClB3O,EAISk/B,GAAsB,IAATl/B,EACtBm/B,GAAoB,GAEpBltB,EAAO4W,EAAOqG,GACTgQ,GAAsB,IAATl/B,UACT6oB,EAAMla,IAIjBwwB,GAAqBjQ,EAASmQ,QAC9BV,GAAqBzP,EAAUrG,IAEjCuW,EAA2BlQ,CAC7B,MAAWA,IACT4P,GAAoBpd,EAAUwN,GAC9BkQ,EAA2B,CAAEl/B,QAAS,IAExC,GAAIi/B,EACF,IAAK,MAAMlnC,KAAO4wB,EACX0V,GAActmC,IAAUA,KAAOmnC,UAC3BvW,EAAM5wB,EAGnB,EAGF,SAASqnC,GAAOC,EAAQC,EAAWC,EAAgB1d,EAAO2d,GAAY,GACpE,GAAI9mC,EAAQ2mC,GAUV,YATAA,EAAOz+B,SACL,CAAC6M,EAAG6D,IAAM8tB,GACR3xB,EACA6xB,IAAc5mC,EAAQ4mC,GAAaA,EAAUhuB,GAAKguB,GAClDC,EACA1d,EACA2d,KAKN,GAAIpN,GAAevQ,KAAW2d,EAC5B,OAEF,MAAMC,EAA6B,EAAlB5d,EAAMqH,UAAgBuD,GAAe5K,EAAM8D,YAAc9D,EAAM8D,UAAU9F,MAAQgC,EAAM3P,GAClGnU,EAAQyhC,EAAY,KAAOC,GACzBnuB,EAAGhI,EAAOmE,EAAG6S,GAAQ+e,EAOvBK,EAASJ,GAAaA,EAAU7xB,EAChC+oB,EAAOltB,EAAMktB,OAASjlB,EAAYjI,EAAMktB,KAAO,CAAC,EAAIltB,EAAMktB,KAC1DzN,EAAazf,EAAMyf,WAWzB,GAVc,MAAV2W,GAAkBA,IAAWpf,IAC3B5N,EAASgtB,IACXlJ,EAAKkJ,GAAU,KACXrtB,EAAO0W,EAAY2W,KACrB3W,EAAW2W,GAAU,OAEd1jB,GAAM0jB,KACfA,EAAO3hC,MAAQ,OAGf0U,EAAW6N,GACbiB,GAAsBjB,EAAKhX,EAAO,GAAI,CAACvL,EAAOy4B,QACzC,CACL,MAAMmJ,EAAYjtB,EAAS4N,GACrBsf,EAAS5jB,GAAMsE,GACrB,GAAIqf,GAAaC,EAAQ,CACvB,MAAMC,EAAQA,KACZ,GAAIR,EAAOtI,EAAG,CACZ,MAAM+I,EAAWH,EAAYttB,EAAO0W,EAAYzI,GAAOyI,EAAWzI,GAAOkW,EAAKlW,GAAOA,EAAIviB,MACrFyhC,EACF9mC,EAAQonC,IAAa7tB,EAAO6tB,EAAUL,GAEjC/mC,EAAQonC,GAWDA,EAAShlC,SAAS2kC,IAC5BK,EAAS3gC,KAAKsgC,GAXVE,GACFnJ,EAAKlW,GAAO,CAACmf,GACTptB,EAAO0W,EAAYzI,KACrByI,EAAWzI,GAAOkW,EAAKlW,MAGzBA,EAAIviB,MAAQ,CAAC0hC,GACTJ,EAAOU,IACTvJ,EAAK6I,EAAOU,GAAKzf,EAAIviB,OAM/B,MAAW4hC,GACTnJ,EAAKlW,GAAOviB,EACRsU,EAAO0W,EAAYzI,KACrByI,EAAWzI,GAAOviB,IAEX6hC,IACTtf,EAAIviB,MAAQA,EACRshC,EAAOU,IACTvJ,EAAK6I,EAAOU,GAAKhiC,GACkC,EAIrDA,GACF8hC,EAAMtc,IAAM,EACZqI,GAAsBiU,EAAON,IAE7BM,GAEJ,CAGF,CACF,CAgdA,MAAMjU,GAhyGN,SAAiCtY,EAAIuY,GApyCrC,IAA0B5H,EAqyCpB4H,GAAYA,EAASmU,cACnBtnC,EAAQ4a,GACVuY,EAASlV,QAAQxX,QAAQmU,GAEzBuY,EAASlV,QAAQxX,KAAKmU,IAxyCrB5a,EADmBurB,EA4yCL3Q,GAnyCjBwP,GAAoB3jB,QAAQ8kB,GAPvBlB,IAAuBA,GAAmBjoB,SAC7CmpB,EACAA,EAAGxJ,aAAeuI,GAAiB,EAAIA,KAEvCF,GAAoB3jB,KAAK8kB,GAK7BJ,KAmyCF,EA6xGA,SAASoc,GAAmBzY,EAAS0Y,GAzBA,kBAAxBjZ,sBAETjS,IAAgBiS,qBAAsB,GAEH,kBAA1Bb,wBAETpR,IAAgBoR,uBAAwB,GAuB1C,MAAMvuB,EAASmd,IACfnd,EAAOsoC,SAAU,EACgC/Z,uBAC/CvB,GAAgBhtB,EAAOuoC,6BAA8BvoC,GAEvD,MACEwoC,OAAQC,EACRruB,OAAQsuB,EACRC,UAAWC,EACXC,cAAeC,EACfC,WAAYC,EACZC,cAAeC,EACfC,QAASC,EACTC,eAAgBC,EAChBC,WAAYC,EACZC,YAAaC,EACbC,WAAYC,EAAiBhwB,EAC7BiwB,oBAAqBC,GACnBna,EACEoa,EAAQA,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAM1C,EAAiB,KAAMzD,GAAQ,EAAOnG,EAAe,KAAMqJ,IAAmF8C,EAAGI,mBACxN,GAAIL,IAAOC,EACT,OAEED,IAAO7R,GAAgB6R,EAAIC,KAC7BE,EAASG,EAAgBN,GACzB1F,EAAQ0F,EAAII,EAAiB1C,GAAgB,GAC7CsC,EAAK,OAEe,IAAlBC,EAAG7P,YACL+M,GAAY,EACZ8C,EAAGI,gBAAkB,MAEvB,MAAM,KAAEpiC,EAAI,IAAEwgB,EAAG,UAAE4I,GAAc4Y,EACjC,OAAQhiC,GACN,KAAKk8B,GACHoG,EAAYP,EAAIC,EAAIC,EAAWC,GAC/B,MACF,KAAK/xB,GACHoyB,EAAmBR,EAAIC,EAAIC,EAAWC,GACtC,MACF,KAAK/F,GACO,MAAN4F,GACFS,EAAgBR,EAAIC,EAAWC,EAAQlG,GAIzC,MACF,KAAK9J,GACHuQ,EACEV,EACAC,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAEF,MACF,QACkB,EAAZ9V,EACFsZ,EACEX,EACAC,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAEmB,EAAZ9V,EACTuZ,EACEZ,EACAC,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,IAEmB,GAAZ9V,GAaY,IAAZA,IAZTppB,EAAK4iC,QACHb,EACAC,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,EACA2D,IAmBG,MAAPriB,GAAe2hB,GACjB7C,GAAO9e,EAAKuhB,GAAMA,EAAGvhB,IAAKif,EAAgBuC,GAAMD,GAAKC,EACvD,EAEIM,EAAcA,CAACP,EAAIC,EAAIC,EAAWC,KACtC,GAAU,MAANH,EACFvB,EACEwB,EAAG5vB,GAAK2uB,EAAeiB,EAAG9S,UAC1B+S,EACAC,OAEG,CACL,MAAM9vB,EAAK4vB,EAAG5vB,GAAK2vB,EAAG3vB,GAClB4vB,EAAG9S,WAAa6S,EAAG7S,UACrBiS,EAAY/uB,EAAI4vB,EAAG9S,SAEvB,GAEIqT,EAAqBA,CAACR,EAAIC,EAAIC,EAAWC,KACnC,MAANH,EACFvB,EACEwB,EAAG5vB,GAAK6uB,EAAkBe,EAAG9S,UAAY,IACzC+S,EACAC,GAGFF,EAAG5vB,GAAK2vB,EAAG3vB,EACb,EAEIowB,EAAkBA,CAACR,EAAIC,EAAWC,EAAQlG,MAC7CgG,EAAG5vB,GAAI4vB,EAAGE,QAAUL,EACnBG,EAAG9S,SACH+S,EACAC,EACAlG,EACAgG,EAAG5vB,GACH4vB,EAAGE,OACJ,EAmCGQ,EAAiBA,CAACX,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KACvGlD,EAAQA,GAAqB,QAAZgG,EAAGhiC,KACV,MAAN+hC,EACFe,EACEd,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAGF6D,EACEhB,EACAC,EACAG,EACA1C,EACAzD,EACAnG,EACAqJ,EAEJ,EAEI4D,EAAeA,CAAC/gB,EAAOkgB,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KACpG,IAAI9sB,EACA4wB,EACJ,MAAM,KAAEhjC,EAAI,MAAElI,EAAK,UAAEsxB,EAAS,WAAEa,EAAU,KAAEF,GAAShI,EAyBrD,GAxBA3P,EAAK2P,EAAM3P,GAAKyuB,EACd9e,EAAM/hB,KACNg8B,EACAlkC,GAASA,EAAMsc,GACftc,GAEc,EAAZsxB,EACFiY,EAAmBjvB,EAAI2P,EAAMmN,UACR,GAAZ9F,GACT6Z,EACElhB,EAAMmN,SACN9c,EACA,KACA+vB,EACA1C,EACAzD,GAAkB,kBAATh8B,EACT61B,EACAqJ,GAGAnV,GACFkD,GAAoBlL,EAAO,KAAMogB,EAAiB,WAEpDT,EAAWtvB,EAAI2P,EAAOA,EAAM6T,QAASC,EAAcsM,GAC/CrqC,EAAO,CACT,IAAK,MAAMG,KAAOH,EACJ,UAARG,GAAoBqb,EAAerb,IACrC0oC,EACEvuB,EACAna,EACA,KACAH,EAAMG,GACN+jC,EACAja,EAAMmN,SACNiT,EACA1C,EACAyD,GAIF,UAAWprC,GACb6oC,EAAcvuB,EAAI,QAAS,KAAMta,EAAMmG,QAErC+kC,EAAYlrC,EAAMqrC,qBACpBC,GAAgBJ,EAAWb,EAAiBpgB,EAEhD,CACiDuE,wBAC/CpsB,OAAO6G,eAAeqR,EAAI,UAAW,CACnCnU,MAAO8jB,EACPpN,YAAY,IAEdza,OAAO6G,eAAeqR,EAAI,uBAAwB,CAChDnU,MAAOkkC,EACPxtB,YAAY,KAGZoV,GACFkD,GAAoBlL,EAAO,KAAMogB,EAAiB,eAEpD,MAAMkB,IAA4B5D,GAAkBA,IAAmBA,EAAeS,gBAAkBjW,IAAeA,EAAWwD,UAC9H4V,GACFpZ,EAAWgH,YAAY7e,GAEzBouB,EAAWpuB,EAAI6vB,EAAWC,KACrBc,EAAYlrC,GAASA,EAAMwrC,iBAAmBD,GAA2BtZ,IAC5E+B,IAAsB,KACpBkX,GAAaI,GAAgBJ,EAAWb,EAAiBpgB,GACzDshB,GAA2BpZ,EAAWkH,MAAM/e,GAC5C2X,GAAQkD,GAAoBlL,EAAO,KAAMogB,EAAiB,UAAU,GACnE1C,EACL,EAEIiC,EAAaA,CAACtvB,EAAI2P,EAAO6T,EAASC,EAAcsM,KAIpD,GAHIvM,GACF+L,EAAevvB,EAAIwjB,GAEjBC,EACF,IAAK,IAAIrkB,EAAI,EAAGA,EAAIqkB,EAAaz6B,OAAQoW,IACvCmwB,EAAevvB,EAAIyjB,EAAarkB,IAGpC,GAAI2wB,GAKEpgB,IAJUogB,EAAgBrS,QAIP,CACrB,MAAMyT,EAAcpB,EAAgBpgB,MACpC2f,EACEtvB,EACAmxB,EACAA,EAAY3N,QACZ2N,EAAY1N,aACZsM,EAAgBprB,OAEpB,CACF,EAEIksB,EAAgBA,CAAC/T,EAAU+S,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,EAAWxb,EAAQ,KAC3H,IAAK,IAAIlS,EAAIkS,EAAOlS,EAAI0d,EAAS9zB,OAAQoW,IAAK,CAC5C,MAAM4d,EAAQF,EAAS1d,GAAK0tB,EAAYsE,GAAetU,EAAS1d,IAAM8X,GAAe4F,EAAS1d,IAC9FswB,EACE,KACA1S,EACA6S,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,EAEJ,GAEI6D,EAAeA,CAAChB,EAAIC,EAAIG,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KAClF,MAAM9sB,EAAK4vB,EAAG5vB,GAAK2vB,EAAG3vB,GACtB,IAAI,UAAE+f,EAAS,gBAAEiQ,EAAe,KAAErY,GAASiY,EAC3C7P,GAA4B,GAAf4P,EAAG5P,UAChB,MAAMsR,EAAW1B,EAAGjqC,OAAS2Z,EACvBiyB,EAAW1B,EAAGlqC,OAAS2Z,EAC7B,IAAIuxB,EACJb,GAAmBwB,GAAcxB,GAAiB,IAC9Ca,EAAYU,EAASE,sBACvBR,GAAgBJ,EAAWb,EAAiBH,EAAID,GAE9ChY,GACFkD,GAAoB+U,EAAID,EAAII,EAAiB,gBAE/CA,GAAmBwB,GAAcxB,GAAiB,GAMlD,MAAM0B,EAAiB7H,GAAqB,kBAAZgG,EAAGhiC,KA2BnC,GA1BIoiC,EACF0B,EACE/B,EAAGK,gBACHA,EACAhwB,EACA+vB,EACA1C,EACAoE,EACAhO,GAKQqJ,GACV6E,EACEhC,EACAC,EACA5vB,EACA,KACA+vB,EACA1C,EACAoE,EACAhO,GACA,GAGA1D,EAAY,EAAG,CACjB,GAAgB,GAAZA,EACF6R,EACE5xB,EACA4vB,EACAyB,EACAC,EACAvB,EACA1C,EACAzD,QAWF,GARgB,EAAZ7J,GACEsR,EAASQ,QAAUP,EAASO,OAC9BtD,EAAcvuB,EAAI,QAAS,KAAMsxB,EAASO,MAAOjI,GAGrC,EAAZ7J,GACFwO,EAAcvuB,EAAI,QAASqxB,EAASS,MAAOR,EAASQ,MAAOlI,GAE7C,EAAZ7J,EAAe,CACjB,MAAMgS,EAAgBnC,EAAGoC,aACzB,IAAK,IAAI5yB,EAAI,EAAGA,EAAI2yB,EAAc/oC,OAAQoW,IAAK,CAC7C,MAAMvZ,EAAMksC,EAAc3yB,GACpBsW,EAAO2b,EAASxrC,GAChBqmB,EAAOolB,EAASzrC,GAClBqmB,IAASwJ,GAAgB,UAAR7vB,GACnB0oC,EACEvuB,EACAna,EACA6vB,EACAxJ,EACA0d,EACA+F,EAAG7S,SACHiT,EACA1C,EACAyD,EAGN,CACF,CAEc,EAAZ/Q,GACE4P,EAAG7S,WAAa8S,EAAG9S,UACrBmS,EAAmBjvB,EAAI4vB,EAAG9S,SAGhC,MAAYgQ,GAAgC,MAAnBkD,GACvB4B,EACE5xB,EACA4vB,EACAyB,EACAC,EACAvB,EACA1C,EACAzD,KAGCgH,EAAYU,EAASW,iBAAmBta,IAC3C+B,IAAsB,KACpBkX,GAAaI,GAAgBJ,EAAWb,EAAiBH,EAAID,GAC7DhY,GAAQkD,GAAoB+U,EAAID,EAAII,EAAiB,UAAU,GAC9D1C,EACL,EAEIqE,EAAqBA,CAACQ,EAAaC,EAAaC,EAAmBrC,EAAiB1C,EAAgBzD,EAAOnG,KAC/G,IAAK,IAAIrkB,EAAI,EAAGA,EAAI+yB,EAAYnpC,OAAQoW,IAAK,CAC3C,MAAMizB,EAAWH,EAAY9yB,GACvBkzB,EAAWH,EAAY/yB,GACvBywB,EAGJwC,EAASryB,KAERqyB,EAASzkC,OAASkyB,KAElBhC,GAAgBuU,EAAUC,IACN,GAArBD,EAASrb,WAAwBmY,EAAekD,EAASryB,IAGvDoyB,EAGJ1C,EACE2C,EACAC,EACAzC,EACA,KACAE,EACA1C,EACAzD,EACAnG,GACA,EAEJ,GAEImO,EAAaA,CAAC5xB,EAAI2P,EAAO0hB,EAAUC,EAAUvB,EAAiB1C,EAAgBzD,KAClF,GAAIyH,IAAaC,EAAU,CACzB,GAAID,IAAahyB,EACf,IAAK,MAAMxZ,KAAOwrC,EACXnwB,EAAerb,IAAUA,KAAOyrC,GACnC/C,EACEvuB,EACAna,EACAwrC,EAASxrC,GACT,KACA+jC,EACAja,EAAMmN,SACNiT,EACA1C,EACAyD,GAKR,IAAK,MAAMjrC,KAAOyrC,EAAU,CAC1B,GAAIpwB,EAAerb,GACjB,SACF,MAAMqmB,EAAOolB,EAASzrC,GAChB6vB,EAAO2b,EAASxrC,GAClBqmB,IAASwJ,GAAgB,UAAR7vB,GACnB0oC,EACEvuB,EACAna,EACA6vB,EACAxJ,EACA0d,EACAja,EAAMmN,SACNiT,EACA1C,EACAyD,EAGN,CACI,UAAWQ,GACb/C,EAAcvuB,EAAI,QAASqxB,EAASxlC,MAAOylC,EAASzlC,MAExD,GAEIwkC,EAAkBA,CAACV,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KACxG,MAAMyF,EAAsB3C,EAAG5vB,GAAK2vB,EAAKA,EAAG3vB,GAAK2uB,EAAe,IAC1D6D,EAAoB5C,EAAGE,OAASH,EAAKA,EAAGG,OAASnB,EAAe,IACtE,IAAI,UAAE5O,EAAS,gBAAEiQ,EAAiBvM,aAAcgP,GAAyB7C,EAOrE6C,IACFhP,EAAeA,EAAeA,EAAa7L,OAAO6a,GAAwBA,GAElE,MAAN9C,GACFvB,EAAWmE,EAAqB1C,EAAWC,GAC3C1B,EAAWoE,EAAmB3C,EAAWC,GACzCe,EACEjB,EAAG9S,SACH+S,EACA2C,EACAzC,EACA1C,EACAzD,EACAnG,EACAqJ,IAGE/M,EAAY,GAAiB,GAAZA,GAAkBiQ,GAEvCL,EAAGK,iBACD0B,EACE/B,EAAGK,gBACHA,EACAH,EACAE,EACA1C,EACAzD,EACAnG,IASU,MAAVmM,EAAG/pC,KAAekqC,GAAmBH,IAAOG,EAAgBrS,UAE5DgV,GACE/C,EACAC,GACA,IAKJ+B,EACEhC,EACAC,EACAC,EACA2C,EACAzC,EACA1C,EACAzD,EACAnG,EACAqJ,EAGN,EAEIyD,EAAmBA,CAACZ,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KACzG8C,EAAGnM,aAAeA,EACR,MAANkM,EACiB,IAAfC,EAAG5Y,UACL+Y,EAAgBla,IAAI8c,SAClB/C,EACAC,EACAC,EACAlG,EACAkD,GAGF8F,EACEhD,EACAC,EACAC,EACAC,EACA1C,EACAzD,EACAkD,GAIJ+F,EAAgBlD,EAAIC,EAAI9C,EAC1B,EAEI8F,EAAiBA,CAACE,EAAcjD,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOkD,KAC/F,MAAMxd,EAAYwjB,EAAarf,UAy8CnC,SAAiC9D,EAAOhL,EAAQgV,GAC9C,MAAM/rB,EAAO+hB,EAAM/hB,KACbsiB,GAAcvL,EAASA,EAAOuL,WAAaP,EAAMO,aAAe6iB,GAChEzjB,EAAW,CACfqE,IAAKA,KACLhE,QACA/hB,OACA+W,SACAuL,aACAqH,KAAM,KAENrL,KAAM,KACNwR,QAAS,KAETjX,OAAQ,KACRwX,OAAQ,KAER1X,MAAO,IAAIlC,GACT,GAGFsS,OAAQ,KACRhJ,MAAO,KACPqlB,QAAS,KACTC,YAAa,KACb1c,UAAW,KACX6R,SAAUzjB,EAASA,EAAOyjB,SAAWtgC,OAAOoX,OAAOgR,EAAWkY,UAC9DjD,YAAa,KACbvO,YAAa,GAEb8Q,WAAY,KACZrN,WAAY,KAEZ7D,aAAc6U,GAAsBz9B,EAAMsiB,GAC1C+H,aAAczD,GAAsB5mB,EAAMsiB,GAE1CwC,KAAM,KAEN6B,QAAS,KAET6W,cAAe/rB,EAEfyX,aAAclpB,EAAKkpB,aAEnBjB,IAAKxW,EACLjZ,KAAMiZ,EACN3Z,MAAO2Z,EACPqX,MAAOrX,EACPoX,MAAOpX,EACPilB,KAAMjlB,EACNwX,WAAYxX,EACZ6zB,aAAc,KACdC,WAAY,KACZC,WAAY,KAEZzZ,WACA0Z,WAAY1Z,EAAWA,EAAS2Z,UAAY,EAC5CC,SAAU,KACVC,eAAe,EAGflX,WAAW,EACXzI,aAAa,EACb8M,eAAe,EACf8S,GAAI,KACJjyB,EAAG,KACHkyB,GAAI,KACJvN,EAAG,KACHwN,GAAI,KACJC,EAAG,KACHC,GAAI,KACJC,IAAK,KACLC,GAAI,KACJh6B,EAAG,KACHi6B,IAAK,KACLC,IAAK,KACLjkB,GAAI,KACJ3gB,GAAI,MAYN,OAPEigB,EAASuG,IAAM,CAAEtZ,EAAG+S,GAEtBA,EAASiI,KAAO5S,EAASA,EAAO4S,KAAOjI,EACvCA,EAASoD,KAAOA,GAAKrtB,KAAK,KAAMiqB,GAC5BK,EAAMukB,IACRvkB,EAAMukB,GAAG5kB,GAEJA,CACT,CAniD+C6kB,CACzCrB,EACA/C,EACA1C,GAqBF,GAZI7N,GAAYsT,KACdxjB,EAASuG,IAAIue,SAAW3D,IA8jD9B,SAAwBnhB,EAAUJ,GAAQ,GACxCoK,GAAwBpK,EACxB,MAAM,MAAExpB,EAAK,SAAEo3B,GAAaxN,EAASK,MAC/B0kB,EAAaxQ,GAAoBvU,IArtGzC,SAAmBA,EAAU4N,EAAUmX,EAAYnlB,GAAQ,GACzD,MAAMxpB,EAAQ,CAAC,EACTgxB,EAAQ,CAAC,EACftU,EAAIsU,EAAOkW,GAAmB,GAC9Btd,EAAS8b,cAAgCtjC,OAAOoX,OAAO,MACvDsrB,GAAalb,EAAU4N,EAAUx3B,EAAOgxB,GACxC,IAAK,MAAM7wB,KAAOypB,EAASkH,aAAa,GAChC3wB,KAAOH,IACXA,EAAMG,QAAO,GAMbwuC,EACF/kB,EAAS5pB,MAAQwpB,EAAQxpB,EDt+FpBwnB,GCs+F4CxnB,GDp+FjD,EACA+kB,GACAuC,GACAtD,ICm+FK4F,EAAS1hB,KAAKlI,MAGjB4pB,EAAS5pB,MAAQA,EAFjB4pB,EAAS5pB,MAAQgxB,EAKrBpH,EAASoH,MAAQA,CACnB,EA8rGE4d,CAAUhlB,EAAU5pB,EAAO2uC,EAAYnlB,GACvCyd,GAAUrd,EAAUwN,GACpB,MAAMyX,EAAcF,EAItB,SAAgC/kB,EAAUJ,GAExC,MAAMoH,EAAYhH,EAAS1hB,KAuB3B0hB,EAAS6V,YAA8Br9B,OAAOoX,OAAO,MACrDoQ,EAAS3B,MAAQI,GAAQ,IAAIH,MAAM0B,EAASuG,IAAKqP,KAIjD,MAAM,MAAE/I,GAAU7F,EAClB,GAAI6F,EAAO,CACT,MAAM+W,EAAe5jB,EAAS4jB,aAAe/W,EAAMnzB,OAAS,EA4JhE,SAA4BsmB,GAC1B,MAAMklB,EAAUxB,IAqBd1jB,EAAS0jB,QAAUA,GAAW,CAAC,CAAC,EAgBhC,MAAO,CACDtc,YACF,OAzER,SAAuBpH,GACrB,OAAOA,EAAS6jB,aAAe7jB,EAAS6jB,WAAa,IAAIvlB,MACvD0B,EAASoH,MAeL,CACFxa,IAAGA,CAACvW,EAAQE,KACV2hB,GAAM8H,EAAU,EAAO,UAChB3pB,EAAOE,MAItB,CAiDe4uC,CAAcnlB,EACvB,EACAmH,MAAOnH,EAASmH,MAChB/D,KAAMpD,EAASoD,KACf8hB,SAGN,CA3MoEE,CAAmBplB,GAAY,KAC/F0K,GAAmB1K,GACnBhI,KACA,MAAMitB,EAAcllB,GAClB8M,EACA7M,EACA,EACA,CAA+EA,EAAS5pB,MAAOwtC,IAIjG,GAFA3rB,KACA0S,KACItZ,EAAU4zB,GAAc,CAE1B,GADAA,EAAY3zB,KAAKqZ,GAAsBA,IACnC/K,EACF,OAAOqlB,EAAY3zB,MAAM+zB,IACvBC,GAAkBtlB,EAAUqlB,EAAgBzlB,EAAM,IACjDpoB,OAAO4U,IACR8T,GAAY9T,EAAG4T,EAAU,EAAE,IAG7BA,EAASikB,SAAWgB,CAQxB,MACEK,GAAkBtlB,EAAUilB,EAAarlB,EAE7C,MACE2lB,GAAqBvlB,EAAUJ,EAEnC,CAtEmC4lB,CAAuBxlB,EAAUJ,QAAS,EAC3EoK,IAAwB,CAE1B,CAjkDMyb,CAAezlB,GAKbA,EAASikB,UAEX,GADAlG,GAAkBA,EAAe2H,YAAY1lB,EAAU2lB,IAClDnC,EAAa9yB,GAAI,CACpB,MAAMk1B,EAAc5lB,EAASoO,QAAUpG,GAAYvZ,IACnDoyB,EAAmB,KAAM+E,EAAarF,EAAWC,EACnD,OAGFmF,EACE3lB,EACAwjB,EACAjD,EACAC,EACAzC,EACAzD,EACAkD,EAE8C,EAK5C+F,EAAkBA,CAAClD,EAAIC,EAAI9C,KAC/B,MAAMxd,EAAWsgB,EAAGnc,UAAYkc,EAAGlc,UACnC,GAniJJ,SAA+BqH,EAAWqa,EAAWrI,GACnD,MAAQpnC,MAAOqyB,EAAW+E,SAAUsY,EAAY,UAAE3hB,GAAcqH,GACxDp1B,MAAOsyB,EAAW8E,SAAUuY,EAAY,UAAEtV,GAAcoV,EAC1DtgB,EAAQpB,EAAUwE,aAIxB,GAAIkd,EAAUxd,MAAQwd,EAAUtd,WAC9B,OAAO,EAET,KAAIiV,GAAa/M,GAAa,GAmB5B,SAAIqV,IAAgBC,GACbA,GAAiBA,EAAapI,UAIjClV,IAAcC,IAGbD,GAGAC,GAGEF,GAAgBC,EAAWC,EAAWnD,KALlCmD,GA3BX,GAAgB,KAAZ+H,EACF,OAAO,EAET,GAAgB,GAAZA,EACF,OAAKhI,EAGED,GAAgBC,EAAWC,EAAWnD,KAFlCmD,EAGN,GAAgB,EAAZ+H,EAAe,CACxB,MAAMiS,EAAemD,EAAUnD,aAC/B,IAAK,IAAI5yB,EAAI,EAAGA,EAAI4yB,EAAahpC,OAAQoW,IAAK,CAC5C,MAAMvZ,EAAMmsC,EAAa5yB,GACzB,GAAI4Y,EAAUnyB,KAASkyB,EAAUlyB,KAASwvB,GAAeR,EAAOhvB,GAC9D,OAAO,CAEX,CACF,CAkBF,OAAO,CACT,CAq/IQyvC,CAAsB3F,EAAIC,EAAI9C,GAAY,CAC5C,GAAIxd,EAASikB,WAAajkB,EAASkkB,cAQjC,YAJA+B,EAAyBjmB,EAAUsgB,EAAI9C,GAMvCxd,EAASpD,KAAO0jB,EAtvKxB,SAAuBxe,GACrB,MAAMhS,EAAIsR,GAAMzQ,QAAQmR,GACpBhS,EAAIuR,IACND,GAAMxQ,OAAOd,EAAG,EAEpB,CAkvKQo2B,CAAclmB,EAAS2O,QACvB3O,EAAS2O,QAEb,MACE2R,EAAG5vB,GAAK2vB,EAAG3vB,GACXsP,EAASK,MAAQigB,CACnB,EAEIqF,EAAoBA,CAAC3lB,EAAUwjB,EAAcjD,EAAWC,EAAQzC,EAAgBzD,EAAOkD,KAC3F,MA+JMrmB,EAAS6I,EAAS7I,OAAS,IAAIJ,IA/JXovB,KACxB,GAAKnmB,EAASgN,UA0FP,CACL,IAEIsU,GAFA,KAAE1kB,EAAI,GAAEynB,EAAE,EAAEC,EAAC,OAAEjvB,EAAM,MAAEgL,GAAUL,EACjComB,EAAaxpB,EAKjBqlB,GAAcjiB,GAAU,GACpBpD,GACFA,EAAKlM,GAAK2P,EAAM3P,GAChBu1B,EAAyBjmB,EAAUpD,EAAM4gB,IAEzC5gB,EAAOyD,EAELgkB,GACF1xB,EAAe0xB,IAEb/C,EAAY1kB,EAAKxmB,OAASwmB,EAAKxmB,MAAM8rC,sBACvCR,GAAgBJ,EAAWjsB,EAAQuH,EAAMyD,GAE3C4hB,GAAcjiB,GAAU,GAIxB,MAAMqmB,EAAWtf,GAAoB/G,GAI/BsmB,EAAWtmB,EAASoO,QAC1BpO,EAASoO,QAAUiY,EAInBjG,EACEkG,EACAD,EAEAxG,EAAeyG,EAAS51B,IAExBiwB,EAAgB2F,GAChBtmB,EACA+d,EACAzD,GAKF1d,EAAKlM,GAAK21B,EAAS31B,GACA,OAAf01B,GAvoJZ,UAAyB,MAAE/lB,EAAK,OAAEhL,GAAU3E,GAC1C,KAAO2E,GAAUA,EAAO+Y,UAAY/N,IACjCA,EAAQhL,EAAOgL,OAAO3P,GAAKA,EAC5B2E,EAASA,EAAOA,MAEpB,CAmoJUkxB,CAAgBvmB,EAAUqmB,EAAS31B,IAEjC4zB,GACFla,GAAsBka,EAAGvG,IAEvBuD,EAAY1kB,EAAKxmB,OAASwmB,EAAKxmB,MAAMusC,iBACvCvY,IACE,IAAMsX,GAAgBJ,EAAWjsB,EAAQuH,EAAMyD,IAC/C0d,GAG6CnZ,uBAC/CZ,GAAyBhE,EAK7B,KA5JyB,CACvB,IAAIshB,EACJ,MAAM,GAAE5wB,EAAE,MAAEta,GAAUotC,GAChB,GAAEY,EAAE,EAAEvN,EAAC,OAAExhB,GAAW2K,EACpBwmB,EAAsB5V,GAAe4S,GAS3C,GARAvB,GAAcjiB,GAAU,GACpBokB,GACFzxB,EAAeyxB,IAEZoC,IAAwBlF,EAAYlrC,GAASA,EAAMqrC,qBACtDC,GAAgBJ,EAAWjsB,EAAQmuB,GAErCvB,GAAcjiB,GAAU,GACpBtP,GAAM+1B,GAAa,CACrB,MAAMC,EAAiBA,KAIrB1mB,EAASoO,QAAUrH,GAAoB/G,GAOvCymB,GACE/1B,EACAsP,EAASoO,QACTpO,EACA+d,EACA,KAE8C,EAI9CyI,EACFhD,EAAallC,KAAKuyB,gBAAgBvf,MAKhC,KAAO0O,EAASuE,aAAemiB,MAGjCA,GAEJ,KAAO,CAIL,MAAMtY,EAAUpO,EAASoO,QAAUrH,GAAoB/G,GAOvDogB,EACE,KACAhS,EACAmS,EACAC,EACAxgB,EACA+d,EACAzD,GAKFkJ,EAAa9yB,GAAK0d,EAAQ1d,EAC5B,CAIA,GAHImmB,GACFzM,GAAsByM,EAAGkH,IAEtByI,IAAwBlF,EAAYlrC,GAASA,EAAMwrC,gBAAiB,CACvE,MAAM+E,EAAqBnD,EAC3BpZ,IACE,IAAMsX,GAAgBJ,EAAWjsB,EAAQsxB,IACzC5I,EAEJ,EAC6B,IAAzByF,EAAa9b,WAAmBrS,GAAUub,GAAevb,EAAOgL,QAAmC,IAAzBhL,EAAOgL,MAAMqH,YACzF1H,EAASvV,GAAK2f,GAAsBpK,EAASvV,EAAGszB,GAElD/d,EAASgN,WAAY,EAC4BpI,uBAC/Cd,GAAuB9D,GAEzBwjB,EAAejD,EAAYC,EAAS,IACtC,CAkEA,IAIA,IAAM3e,GAAS8M,IACf3O,EAAS/I,OAGL0X,EAAS3O,EAAS2O,OAAS,IAAMxX,EAAO1B,MAC9CkZ,EAAO5M,GAAK/B,EAASqE,IACrB4d,GAAcjiB,GAAU,GAMxB2O,GAAQ,EAEJsX,EAA2BA,CAACjmB,EAAU6lB,EAAWrI,KACrDqI,EAAU1hB,UAAYnE,EACtB,MAAMyI,EAAYzI,EAASK,MAAMjqB,MACjC4pB,EAASK,MAAQwlB,EACjB7lB,EAASpD,KAAO,KA/1DpB,SAAqBoD,EAAU4N,EAAUgZ,EAAcpJ,GACrD,MAAM,MACJpnC,EAAK,MACLgxB,EACA/G,OAAO,UAAEoQ,IACPzQ,EACEub,EAAkB1hB,GAAMzjB,IACvB4vB,GAAWhG,EAASkH,aAC3B,IAAImU,GAAkB,EACtB,KAI+EmC,GAAa/M,EAAY,IAAoB,GAAZA,EAoCzG,CAIL,IAAIoW,EAHA3L,GAAalb,EAAU4N,EAAUx3B,EAAOgxB,KAC1CiU,GAAkB,GAGpB,IAAK,MAAM9kC,KAAOglC,EACX3N,IACJ/c,EAAO+c,EAAUr3B,KAEhBswC,EAAWz0B,EAAU7b,MAAUA,GAAQsa,EAAO+c,EAAUiZ,MACpD7gB,GACE4gB,QACmB,IAAtBA,EAAarwC,SACa,IAA3BqwC,EAAaC,KACXzwC,EAAMG,GAAOklC,GACXzV,EACAuV,EACAhlC,OACA,EACAypB,GACA,WAKG5pB,EAAMG,IAInB,GAAI6wB,IAAUmU,EACZ,IAAK,MAAMhlC,KAAO6wB,EACXwG,GAAa/c,EAAO+c,EAAUr3B,YAC1B6wB,EAAM7wB,GACb8kC,GAAkB,EAI1B,MAvEE,GAAgB,EAAZ5K,EAAe,CACjB,MAAMgS,EAAgBziB,EAASK,MAAMqiB,aACrC,IAAK,IAAI5yB,EAAI,EAAGA,EAAI2yB,EAAc/oC,OAAQoW,IAAK,CAC7C,IAAIvZ,EAAMksC,EAAc3yB,GACxB,GAAIiW,GAAe/F,EAAS2I,aAAcpyB,GACxC,SAEF,MAAMgG,EAAQqxB,EAASr3B,GACvB,GAAIyvB,EACF,GAAInV,EAAOuW,EAAO7wB,GACZgG,IAAU6qB,EAAM7wB,KAClB6wB,EAAM7wB,GAAOgG,EACb8+B,GAAkB,OAEf,CACL,MAAMyL,EAAe70B,EAAS1b,GAC9BH,EAAM0wC,GAAgBrL,GACpBzV,EACAuV,EACAuL,EACAvqC,EACAyjB,GACA,EAGJ,MAEIzjB,IAAU6qB,EAAM7wB,KAClB6wB,EAAM7wB,GAAOgG,EACb8+B,GAAkB,EAGxB,CACF,CAuCEA,GACF5iB,GAAQuH,EAAU,MAAO,SAK7B,CAmwDI+mB,CAAY/mB,EAAU6lB,EAAUzvC,MAAOqyB,EAAW+U,GAClDD,GAAYvd,EAAU6lB,EAAUrY,SAAUgQ,GAC1CxlB,KACAuK,KACAtK,IAAe,EAEXoqB,EAAgBA,CAAChC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,GAAY,KAClH,MAAMwJ,EAAK3G,GAAMA,EAAG7S,SACdyZ,EAAgB5G,EAAKA,EAAG3Y,UAAY,EACpCwf,EAAK5G,EAAG9S,UACR,UAAEiD,EAAS,UAAE/I,GAAc4Y,EACjC,GAAI7P,EAAY,EAAG,CACjB,GAAgB,IAAZA,EAYF,YAXA0W,EACEH,EACAE,EACA3G,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAGG,GAAgB,IAAZ/M,EAYT,YAXA2W,EACEJ,EACAE,EACA3G,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,EAIN,CACgB,EAAZ9V,GACkB,GAAhBuf,GACFzF,EAAgBwF,EAAIvG,EAAiB1C,GAEnCmJ,IAAOF,GACTrH,EAAmBY,EAAW2G,IAGZ,GAAhBD,EACc,GAAZvf,EACFyf,EACEH,EACAE,EACA3G,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAGFgE,EAAgBwF,EAAIvG,EAAiB1C,GAAgB,IAGnC,EAAhBkJ,GACFtH,EAAmBY,EAAW,IAEhB,GAAZ7Y,GACF6Z,EACE2F,EACA3G,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAIR,EAEI4J,EAAuBA,CAACJ,EAAIE,EAAI3G,EAAWC,EAAQC,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KAE7G0J,EAAKA,GAAMl3B,EACX,MAAMq3B,GAFNL,EAAKA,GAAMh3B,GAEUtW,OACfkf,EAAYsuB,EAAGxtC,OACf4tC,EAAe/6B,KAAKY,IAAIk6B,EAAWzuB,GACzC,IAAI9I,EACJ,IAAKA,EAAI,EAAGA,EAAIw3B,EAAcx3B,IAAK,CACjC,MAAMy3B,EAAYL,EAAGp3B,GAAK0tB,EAAYsE,GAAeoF,EAAGp3B,IAAM8X,GAAesf,EAAGp3B,IAChFswB,EACE4G,EAAGl3B,GACHy3B,EACAhH,EACA,KACAE,EACA1C,EACAzD,EACAnG,EACAqJ,EAEJ,CACI6J,EAAYzuB,EACd4oB,EACEwF,EACAvG,EACA1C,GACA,GACA,EACAuJ,GAGF/F,EACE2F,EACA3G,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,EACA8J,EAEJ,EAEIH,EAAqBA,CAACH,EAAIE,EAAI3G,EAAWiH,EAAc/G,EAAiB1C,EAAgBzD,EAAOnG,EAAcqJ,KACjH,IAAI1tB,EAAI,EACR,MAAM23B,EAAKP,EAAGxtC,OACd,IAAIguC,EAAKV,EAAGttC,OAAS,EACjBiuC,EAAKF,EAAK,EACd,KAAO33B,GAAK43B,GAAM53B,GAAK63B,GAAI,CACzB,MAAMtH,EAAK2G,EAAGl3B,GACRwwB,EAAK4G,EAAGp3B,GAAK0tB,EAAYsE,GAAeoF,EAAGp3B,IAAM8X,GAAesf,EAAGp3B,IACzE,IAAI0e,GAAgB6R,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA1C,EACAzD,EACAnG,EACAqJ,GAKJ1tB,GACF,CACA,KAAOA,GAAK43B,GAAM53B,GAAK63B,GAAI,CACzB,MAAMtH,EAAK2G,EAAGU,GACRpH,EAAK4G,EAAGS,GAAMnK,EAAYsE,GAAeoF,EAAGS,IAAO/f,GAAesf,EAAGS,IAC3E,IAAInZ,GAAgB6R,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA1C,EACAzD,EACAnG,EACAqJ,GAKJkK,IACAC,GACF,CACA,GAAI73B,EAAI43B,GACN,GAAI53B,GAAK63B,EAAI,CACX,MAAMC,EAAUD,EAAK,EACfnH,EAASoH,EAAUH,EAAKP,EAAGU,GAASl3B,GAAK82B,EAC/C,KAAO13B,GAAK63B,GACVvH,EACE,KACA8G,EAAGp3B,GAAK0tB,EAAYsE,GAAeoF,EAAGp3B,IAAM8X,GAAesf,EAAGp3B,IAC9DywB,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAEF1tB,GAEJ,OACK,GAAIA,EAAI63B,EACb,KAAO73B,GAAK43B,GACV/M,EAAQqM,EAAGl3B,GAAI2wB,EAAiB1C,GAAgB,GAChDjuB,QAEG,CACL,MAAM+3B,EAAK/3B,EACLg4B,EAAKh4B,EACLi4B,EAAmC,IAAI3nC,IAC7C,IAAK0P,EAAIg4B,EAAIh4B,GAAK63B,EAAI73B,IAAK,CACzB,MAAMy3B,EAAYL,EAAGp3B,GAAK0tB,EAAYsE,GAAeoF,EAAGp3B,IAAM8X,GAAesf,EAAGp3B,IAC3D,MAAjBy3B,EAAUhxC,KAQZwxC,EAAiB1nC,IAAIknC,EAAUhxC,IAAKuZ,EAExC,CACA,IAAIk4B,EACAC,EAAU,EACd,MAAMC,EAAcP,EAAKG,EAAK,EAC9B,IAAIK,GAAQ,EACRC,EAAmB,EACvB,MAAMC,EAAwB,IAAIpxC,MAAMixC,GACxC,IAAKp4B,EAAI,EAAGA,EAAIo4B,EAAap4B,IAC3Bu4B,EAAsBv4B,GAAK,EAC7B,IAAKA,EAAI+3B,EAAI/3B,GAAK43B,EAAI53B,IAAK,CACzB,MAAMw4B,EAAYtB,EAAGl3B,GACrB,GAAIm4B,GAAWC,EAAa,CAC1BvN,EAAQ2N,EAAW7H,EAAiB1C,GAAgB,GACpD,QACF,CACA,IAAIwK,EACJ,GAAqB,MAAjBD,EAAU/xC,IACZgyC,EAAWR,EAAiBn7B,IAAI07B,EAAU/xC,UAE1C,IAAKyxC,EAAIF,EAAIE,GAAKL,EAAIK,IACpB,GAAsC,IAAlCK,EAAsBL,EAAIF,IAAatZ,GAAgB8Z,EAAWpB,EAAGc,IAAK,CAC5EO,EAAWP,EACX,KACF,MAGa,IAAbO,EACF5N,EAAQ2N,EAAW7H,EAAiB1C,GAAgB,IAEpDsK,EAAsBE,EAAWT,GAAMh4B,EAAI,EACvCy4B,GAAYH,EACdA,EAAmBG,EAEnBJ,GAAQ,EAEV/H,EACEkI,EACApB,EAAGqB,GACHhI,EACA,KACAE,EACA1C,EACAzD,EACAnG,EACAqJ,GAEFyK,IAEJ,CACA,MAAMO,EAA6BL,EA2SzC,SAAqB3sC,GACnB,MAAMoE,EAAIpE,EAAI8G,QACR5K,EAAS,CAAC,GAChB,IAAIoY,EAAGk4B,EAAG1D,EAAG/kC,EAAG2S,EAChB,MAAMu2B,EAAMjtC,EAAI9B,OAChB,IAAKoW,EAAI,EAAGA,EAAI24B,EAAK34B,IAAK,CACxB,MAAM44B,EAAOltC,EAAIsU,GACjB,GAAa,IAAT44B,EAAY,CAEd,GADAV,EAAItwC,EAAOA,EAAOgC,OAAS,GACvB8B,EAAIwsC,GAAKU,EAAM,CACjB9oC,EAAEkQ,GAAKk4B,EACPtwC,EAAOiG,KAAKmS,GACZ,QACF,CAGA,IAFAw0B,EAAI,EACJ/kC,EAAI7H,EAAOgC,OAAS,EACb4qC,EAAI/kC,GACT2S,EAAIoyB,EAAI/kC,GAAK,EACT/D,EAAI9D,EAAOwa,IAAMw2B,EACnBpE,EAAIpyB,EAAI,EAER3S,EAAI2S,EAGJw2B,EAAOltC,EAAI9D,EAAO4sC,MAChBA,EAAI,IACN1kC,EAAEkQ,GAAKpY,EAAO4sC,EAAI,IAEpB5sC,EAAO4sC,GAAKx0B,EAEhB,CACF,CAGA,IAFAw0B,EAAI5sC,EAAOgC,OACX6F,EAAI7H,EAAO4sC,EAAI,GACRA,KAAM,GACX5sC,EAAO4sC,GAAK/kC,EACZA,EAAIK,EAAEL,GAER,OAAO7H,CACT,CAlViDixC,CAAYN,GAAyBr4B,EAEhF,IADAg4B,EAAIQ,EAA2B9uC,OAAS,EACnCoW,EAAIo4B,EAAc,EAAGp4B,GAAK,EAAGA,IAAK,CACrC,MAAM84B,EAAYd,EAAKh4B,EACjBy3B,EAAYL,EAAG0B,GACfpI,EAASoI,EAAY,EAAInB,EAAKP,EAAG0B,EAAY,GAAGl4B,GAAK82B,EAC1B,IAA7Ba,EAAsBv4B,GACxBswB,EACE,KACAmH,EACAhH,EACAC,EACAC,EACA1C,EACAzD,EACAnG,EACAqJ,GAEO2K,IACLH,EAAI,GAAKl4B,IAAM04B,EAA2BR,GAC5Ca,EAAKtB,EAAWhH,EAAWC,EAAQ,GAEnCwH,IAGN,CACF,GAEIa,EAAOA,CAACxoB,EAAOkgB,EAAWC,EAAQsI,EAAU/K,EAAiB,QACjE,MAAM,GAAErtB,EAAE,KAAEpS,EAAI,WAAEiqB,EAAU,SAAEiF,EAAQ,UAAE9F,GAAcrH,EACtD,GAAgB,EAAZqH,EACFmhB,EAAKxoB,EAAM8D,UAAUiK,QAASmS,EAAWC,EAAQsI,QAGnD,GAAgB,IAAZphB,EACFrH,EAAMgK,SAASwe,KAAKtI,EAAWC,EAAQsI,QAGzC,GAAgB,GAAZphB,EACFppB,EAAKuqC,KAAKxoB,EAAOkgB,EAAWC,EAAQW,SAGtC,GAAI7iC,IAASkyB,GAQb,GAAIlyB,IAASm8B,GAKb,GADoC,IAAbqO,GAA8B,EAAZphB,GAAiBa,EAExD,GAAiB,IAAbugB,EACFvgB,EAAWgH,YAAY7e,GACvBouB,EAAWpuB,EAAI6vB,EAAWC,GAC1BpW,IAAsB,IAAM7B,EAAWkH,MAAM/e,IAAKqtB,OAC7C,CACL,MAAM,MAAEhO,EAAK,WAAEnB,EAAU,WAAEF,GAAenG,EACpCwgB,EAAUA,IAAMjK,EAAWpuB,EAAI6vB,EAAWC,GAC1CwI,EAAeA,KACnBjZ,EAAMrf,GAAI,KACRq4B,IACAra,GAAcA,GAAY,GAC1B,EAEAE,EACFA,EAAWle,EAAIq4B,EAASC,GAExBA,GAEJ,MAEAlK,EAAWpuB,EAAI6vB,EAAWC,OAxgCPyI,GAAGv4B,KAAI8vB,UAAUD,EAAWT,KACjD,IAAIljB,EACJ,KAAOlM,GAAMA,IAAO8vB,GAClB5jB,EAAOmjB,EAAgBrvB,GACvBouB,EAAWpuB,EAAI6vB,EAAWT,GAC1BpvB,EAAKkM,EAEPkiB,EAAW0B,EAAQD,EAAWT,EAAY,EAw+BxCmJ,CAAe5oB,EAAOkgB,EAAWC,OATnC,CACE1B,EAAWpuB,EAAI6vB,EAAWC,GAC1B,IAAK,IAAI1wB,EAAI,EAAGA,EAAI0d,EAAS9zB,OAAQoW,IACnC+4B,EAAKrb,EAAS1d,GAAIywB,EAAWC,EAAQsI,GAEvChK,EAAWze,EAAMmgB,OAAQD,EAAWC,EAEtC,CA4BA,EAEI7F,EAAUA,CAACta,EAAOogB,EAAiB1C,EAAgBmL,GAAW,EAAO1L,GAAY,KACrF,MAAM,KACJl/B,EAAI,MACJlI,EAAK,IACL0oB,EAAG,SACH0O,EAAQ,gBACRkT,EAAe,UACfhZ,EAAS,UACT+I,EAAS,KACTpI,GACEhI,EAIJ,GAHW,MAAPvB,GACF8e,GAAO9e,EAAK,KAAMif,EAAgB1d,GAAO,GAE3B,IAAZqH,EAEF,YADA+Y,EAAgBla,IAAI4iB,WAAW9oB,GAGjC,MAAM+oB,EAA+B,EAAZ1hB,GAAiBW,EACpCghB,GAAyBzY,GAAevQ,GAC9C,IAAIihB,EAIJ,GAHI+H,IAA0B/H,EAAYlrC,GAASA,EAAMkzC,uBACvD5H,GAAgBJ,EAAWb,EAAiBpgB,GAE9B,EAAZqH,EACF6hB,EAAiBlpB,EAAM8D,UAAW4Z,EAAgBmL,OAC7C,CACL,GAAgB,IAAZxhB,EAEF,YADArH,EAAMgK,SAASsQ,QAAQoD,EAAgBmL,GAGrCE,GACF7d,GAAoBlL,EAAO,KAAMogB,EAAiB,iBAEpC,GAAZ/Y,EACFrH,EAAM/hB,KAAKmS,OACT4P,EACAogB,EACA1C,EACAP,EACA2D,GACA+H,GAEOxI,IACVpiC,IAASkyB,IAAYC,EAAY,GAAiB,GAAZA,GACrC+Q,EACEd,EACAD,EACA1C,GACA,GACA,IAEOz/B,IAASkyB,IAAwB,IAAZC,IAA4B+M,GAAyB,GAAZ9V,IACvE8Z,EAAgBhU,EAAUiT,EAAiB1C,GAEzCmL,GACFz4B,EAAO4P,EAEX,EACIgpB,IAA0B/H,EAAYlrC,GAASA,EAAMozC,mBAAqBJ,IAC5Ehf,IAAsB,KACpBkX,GAAaI,GAAgBJ,EAAWb,EAAiBpgB,GACzD+oB,GAAoB7d,GAAoBlL,EAAO,KAAMogB,EAAiB,YAAY,GACjF1C,EACL,EAEIttB,EAAU4P,IACd,MAAM,KAAE/hB,EAAI,GAAEoS,EAAE,OAAE8vB,EAAM,WAAEjY,GAAelI,EACzC,GAAI/hB,IAASkyB,GAYX,YAFEiZ,EAAe/4B,EAAI8vB,GAIvB,GAAIliC,IAASm8B,GAEX,WAtlCqBiP,GAAGh5B,KAAI8vB,aAC9B,IAAI5jB,EACJ,KAAOlM,GAAMA,IAAO8vB,GAClB5jB,EAAOmjB,EAAgBrvB,GACvBquB,EAAWruB,GACXA,EAAKkM,EAEPmiB,EAAWyB,EAAO,EA8kChBkJ,CAAiBrpB,GAGnB,MAAMspB,EAAgBA,KACpB5K,EAAWruB,GACP6X,IAAeA,EAAWwD,WAAaxD,EAAWmG,YACpDnG,EAAWmG,YACb,EAEF,GAAsB,EAAlBrO,EAAMqH,WAAiBa,IAAeA,EAAWwD,UAAW,CAC9D,MAAM,MAAEgE,EAAK,WAAEnB,GAAerG,EACxBygB,EAAeA,IAAMjZ,EAAMrf,EAAIi5B,GACjC/a,EACFA,EAAWvO,EAAM3P,GAAIi5B,EAAeX,GAEpCA,GAEJ,MACEW,GACF,EAEIF,EAAiBA,CAACnpB,EAAK2B,KAC3B,IAAIrF,EACJ,KAAO0D,IAAQ2B,GACbrF,EAAOmjB,EAAgBzf,GACvBye,EAAWze,GACXA,EAAM1D,EAERmiB,EAAW9c,EAAI,EAEXsnB,EAAmBA,CAACvpB,EAAU+d,EAAgBmL,KAIlD,MAAM,IAAE1E,EAAG,MAAEvtB,EAAK,OAAE0X,EAAM,QAAEP,EAAO,GAAEmW,GAAOvkB,EACxCwkB,GACF7xB,EAAe6xB,GAEjBvtB,EAAMpB,OACF8Y,IACFA,EAAOnZ,QAAS,EAChBmlB,EAAQvM,EAASpO,EAAU+d,EAAgBmL,IAEzC3E,GACFna,GAAsBma,EAAIxG,GAE5B3T,IAAsB,KACpBpK,EAASuE,aAAc,CAAI,GAC1BwZ,GACCA,GAAkBA,EAAeS,gBAAkBT,EAAexZ,aAAevE,EAASikB,WAAajkB,EAASkkB,eAAiBlkB,EAAS+jB,aAAehG,EAAeiG,YAC1KjG,EAAe7mB,OACa,IAAxB6mB,EAAe7mB,MACjB6mB,EAAerc,WAG8BkD,uBAC/CV,GAAyBlE,EAC3B,EAEIwhB,EAAkBA,CAAChU,EAAUiT,EAAiB1C,EAAgBmL,GAAW,EAAO1L,GAAY,EAAOxb,EAAQ,KAC/G,IAAK,IAAIlS,EAAIkS,EAAOlS,EAAI0d,EAAS9zB,OAAQoW,IACvC6qB,EAAQnN,EAAS1d,GAAI2wB,EAAiB1C,EAAgBmL,EAAU1L,EAClE,EAEImD,EAAmBtgB,GACD,EAAlBA,EAAMqH,UACDiZ,EAAgBtgB,EAAM8D,UAAUiK,SAEnB,IAAlB/N,EAAMqH,UACDrH,EAAMgK,SAASzN,OAEjBmjB,EAAgB1f,EAAMmgB,QAAUngB,EAAM3P,IAEzC2W,GAASA,CAAChH,EAAOkgB,EAAWjG,KACnB,MAATja,EACEkgB,EAAUqJ,QACZjP,EAAQ4F,EAAUqJ,OAAQ,KAAM,MAAM,GAGxCxJ,EAAMG,EAAUqJ,QAAU,KAAMvpB,EAAOkgB,EAAW,KAAM,KAAM,KAAMjG,GAEtE/X,KACAI,KACA4d,EAAUqJ,OAASvpB,CAAK,EAEpB8gB,GAAY,CAChBvhC,EAAGwgC,EACHmE,GAAI5J,EACJ9D,EAAGgS,EACH58B,EAAGwE,EACHo5B,GAAIvG,EACJwG,GAAIvI,EACJwI,GAAI1H,EACJ2H,IAAK5H,EACLjvB,EAAGwtB,EACHsJ,EAAGjkB,GAEL,IAAIkT,GACAuN,GAMJ,OALI/H,KACDxF,GAASuN,IAAe/H,EACvByC,KAGG,CACL9Z,UACA6R,WACAgR,UAAWjR,GAAa5R,GAAQ6R,IAEpC,CACA,SAAS+I,IAAc,OAAE9qB,EAAM,OAAEwX,GAAUwb,GACzChzB,EAAO8B,aAAe0V,EAAO1V,aAAekxB,CAC9C,CACA,SAAS/G,GAAuB/C,EAAIC,EAAItmB,GAAU,GAChD,MAAMowB,EAAM/J,EAAG7S,SACT6c,EAAM/J,EAAG9S,SACf,GAAIt2B,EAAQkzC,IAAQlzC,EAAQmzC,GAC1B,IAAK,IAAIv6B,EAAI,EAAGA,EAAIs6B,EAAI1wC,OAAQoW,IAAK,CACnC,MAAMk3B,EAAKoD,EAAIt6B,GACf,IAAIo3B,EAAKmD,EAAIv6B,GACM,EAAfo3B,EAAGxf,YAAkBwf,EAAGxG,mBACtBwG,EAAGzW,WAAa,GAAsB,KAAjByW,EAAGzW,aAC1ByW,EAAKmD,EAAIv6B,GAAKgyB,GAAeuI,EAAIv6B,IACjCo3B,EAAGx2B,GAAKs2B,EAAGt2B,IAERsJ,GACHopB,GAAuB4D,EAAIE,IAE3BA,EAAG5oC,OAASk8B,KACd0M,EAAGx2B,GAAKs2B,EAAGt2B,GAKf,CAEJ,CA+SA,MAAM8f,GAAW3Z,OAAO+b,IAAI,SACtB4H,GAAO3jB,OAAO+b,IAAI,SAClBnkB,GAAUoI,OAAO+b,IAAI,SACrB6H,GAAS5jB,OAAO+b,IAAI,SACpB7K,GAAa,GACnB,IAAIuiB,GAAe,KACnB,SAASzW,GAAU0W,GAAkB,GACnCxiB,GAAWpqB,KAAK2sC,GAAeC,EAAkB,KAAO,GAC1D,CAKA,IAAIC,GAAqB,EACzB,SAAS5jB,GAAiBrqB,GACxBiuC,IAAsBjuC,CACxB,CACA,SAASkuC,GAAWpqB,GAMlB,OALAA,EAAMqgB,gBAAkB8J,GAAqB,EAAIF,IAAgBt6B,EAAY,KAR7E+X,GAAW1d,MACXigC,GAAeviB,GAAWA,GAAWruB,OAAS,IAAM,KAShD8wC,GAAqB,GAAKF,IAC5BA,GAAa3sC,KAAK0iB,GAEbA,CACT,CACA,SAASqqB,GAAmBpsC,EAAMlI,EAAOo3B,EAAUiD,EAAWiS,EAAchb,GAC1E,OAAO+iB,GACLE,GACErsC,EACAlI,EACAo3B,EACAiD,EACAiS,EACAhb,GACA,GAIN,CACA,SAASuM,GAAY31B,EAAMlI,EAAOo3B,EAAUiD,EAAWiS,GACrD,OAAO+H,GACLziB,GACE1pB,EACAlI,EACAo3B,EACAiD,EACAiS,GACA,GAIN,CACA,SAASrO,GAAQ93B,GACf,QAAOA,IAA8B,IAAtBA,EAAMquC,WACvB,CACA,SAASpc,GAAgB6R,EAAIC,GAM3B,OAAOD,EAAG/hC,OAASgiC,EAAGhiC,MAAQ+hC,EAAG9pC,MAAQ+pC,EAAG/pC,GAC9C,CAKA,MAKM+mC,GAAqB,cACrBthC,GAAeA,EAAGzF,SAAiB,MAAPA,EAAcA,EAAM,KAChDs0C,GAAeA,EACnB/rB,MACAgsB,UACAC,cAEmB,iBAARjsB,IACTA,EAAM,GAAKA,GAEC,MAAPA,EAAc5N,EAAS4N,IAAQtE,GAAMsE,IAAQ7N,EAAW6N,GAAO,CAAEhP,EAAGmW,GAA0Bha,EAAG6S,EAAKyf,EAAGuM,EAASvV,IAAKwV,GAAYjsB,EAAM,MAElJ,SAAS6rB,GAAgBrsC,EAAMlI,EAAQ,KAAMo3B,EAAW,KAAMiD,EAAY,EAAGiS,EAAe,KAAMhb,GAAYppB,IAASkyB,GAAW,EAAI,GAAGwa,GAAc,EAAOC,GAAgC,GAC5L,MAAM5qB,EAAQ,CACZuqB,aAAa,EACbM,UAAU,EACV5sC,OACAlI,QACAG,IAAKH,GAAS4F,GAAa5F,GAC3B0oB,IAAK1oB,GAASy0C,GAAaz0C,GAC3B89B,QAAShO,GACTiO,aAAc,KACd3G,WACArJ,UAAW,KACXkG,SAAU,KACV8F,UAAW,KACXC,WAAY,KACZ/H,KAAM,KACNE,WAAY,KACZ7X,GAAI,KACJ8vB,OAAQ,KACRnqC,OAAQ,KACR80C,aAAc,KACdC,YAAa,EACb1jB,YACA+I,YACAiS,eACAhC,gBAAiB,KACjB9f,WAAY,KACZ2F,IAAKN,IAwBP,OAtBIglB,GACFI,GAAkBhrB,EAAOmN,GACT,IAAZ9F,GACFppB,EAAKgtC,UAAUjrB,IAERmN,IACTnN,EAAMqH,WAAaxW,EAASsc,GAAY,EAAI,IAK1Cgd,GAAqB,IACxBQ,GACDV,KAICjqB,EAAMoQ,UAAY,GAAiB,EAAZ/I,IAEJ,KAApBrH,EAAMoQ,WACJ6Z,GAAa3sC,KAAK0iB,GAEbA,CACT,CACA,MAAM2H,GACN,SAAsB1pB,EAAMlI,EAAQ,KAAMo3B,EAAW,KAAMiD,EAAY,EAAGiS,EAAe,KAAMsI,GAAc,GAO3G,GANK1sC,GAAQA,IAASq0B,KAIpBr0B,EAAOmQ,IAEL4lB,GAAQ/1B,GAAO,CACjB,MAAMitC,EAASnjB,GACb9pB,EACAlI,GACA,GAcF,OAXIo3B,GACF6d,GAAkBE,EAAQ/d,GAExBgd,GAAqB,IAAMQ,GAAeV,KACrB,EAAnBiB,EAAO7jB,UACT4iB,GAAaA,GAAa35B,QAAQrS,IAASitC,EAE3CjB,GAAa3sC,KAAK4tC,IAGtBA,EAAO9a,YAAc,EACd8a,CACT,CAIA,GA4mBwBhvC,EA/mBH+B,EAgnBd2S,EAAW1U,IAAU,cAAeA,IA/mBzC+B,EAAOA,EAAKhI,WAEVF,EAAO,CACTA,EAiCJ,SAA4BA,GAC1B,OAAKA,EAEEooB,GAAQpoB,IAAUknC,MAAqBlnC,EAAQma,EAAO,CAAC,EAAGna,GAASA,EADjE,IAEX,CArCYo1C,CAAmBp1C,GAC3B,IAAMmsC,MAAOkJ,EAAK,MAAEjJ,GAAUpsC,EAC1Bq1C,IAAUv6B,EAASu6B,KACrBr1C,EAAMmsC,MAAQruB,EAAeu3B,IAE3Br6B,EAASoxB,KACPhkB,GAAQgkB,KAAWtrC,EAAQsrC,KAC7BA,EAAQjyB,EAAO,CAAC,EAAGiyB,IAErBpsC,EAAMosC,MAAQ/uB,EAAe+uB,GAEjC,CAgmBF,IAA0BjmC,EArlBxB,OAAOouC,GACLrsC,EACAlI,EACAo3B,EACAiD,EACAiS,EAfgBxxB,EAAS5S,GAAQ,EA7rLjBA,IAASA,EAAKotC,aA6rLOC,CAAWrtC,GAAQ,IA1bxCA,IAASA,EAAKstC,aA0bgCC,CAAWvtC,GAAQ,GAAK8S,EAAS9S,GAAQ,EAAI2S,EAAW3S,GAAQ,EAAI,EAiBlI0sC,GACA,EAEJ,EAMA,SAAS5iB,GAAW/H,EAAOyrB,EAAYC,GAAW,GAChD,MAAM,MAAE31C,EAAK,IAAE0oB,EAAG,UAAE2R,EAAS,SAAEjD,GAAanN,EACtC2rB,EAAcF,EA+HtB,YAAuBlyB,GACrB,MAAM5F,EAAM,CAAC,EACb,IAAK,IAAIlE,EAAI,EAAGA,EAAI8J,EAAKlgB,OAAQoW,IAAK,CACpC,MAAMm8B,EAAUryB,EAAK9J,GACrB,IAAK,MAAMvZ,KAAO01C,EAChB,GAAY,UAAR11C,EACEyd,EAAIuuB,QAAU0J,EAAQ1J,QACxBvuB,EAAIuuB,MAAQruB,EAAe,CAACF,EAAIuuB,MAAO0J,EAAQ1J,cAE5C,GAAY,UAARhsC,EACTyd,EAAIwuB,MAAQ/uB,EAAe,CAACO,EAAIwuB,MAAOyJ,EAAQzJ,aAC1C,GAAIpyB,EAAK7Z,GAAM,CACpB,MAAM+nC,EAAWtqB,EAAIzd,GACf21C,EAAWD,EAAQ11C,IACrB21C,GAAY5N,IAAa4N,GAAch1C,EAAQonC,IAAaA,EAAShlC,SAAS4yC,KAChFl4B,EAAIzd,GAAO+nC,EAAW,GAAGhW,OAAOgW,EAAU4N,GAAYA,EAE1D,KAAmB,KAAR31C,IACTyd,EAAIzd,GAAO01C,EAAQ11C,GAGzB,CACA,OAAOyd,CACT,CAtJmCm4B,CAAW/1C,GAAS,CAAC,EAAG01C,GAAc11C,EA2CvE,MA1Ce,CACbw0C,aAAa,EACbM,UAAU,EACV5sC,KAAM+hB,EAAM/hB,KACZlI,MAAO41C,EACPz1C,IAAKy1C,GAAehwC,GAAagwC,GACjCltB,IAAKgtB,GAAcA,EAAWhtB,IAI5BitB,GAAYjtB,EAAM5nB,EAAQ4nB,GAAOA,EAAIwJ,OAAOuiB,GAAaiB,IAAe,CAAChtB,EAAK+rB,GAAaiB,IAAejB,GAAaiB,GACrHhtB,EACJoV,QAAS7T,EAAM6T,QACfC,aAAc9T,EAAM8T,aACpB3G,SAA8HA,EAC9Hn3B,OAAQgqB,EAAMhqB,OACd80C,aAAc9qB,EAAM8qB,aACpBC,YAAa/qB,EAAM+qB,YACnB1jB,UAAWrH,EAAMqH,UAKjB+I,UAAWqb,GAAczrB,EAAM/hB,OAASkyB,IAA0B,IAAfC,EAAmB,GAAiB,GAAZA,EAAiBA,EAC5FiS,aAAcriB,EAAMqiB,aACpBhC,gBAAiBrgB,EAAMqgB,gBACvB9f,WAAYP,EAAMO,WAClByH,KAAMhI,EAAMgI,KACZE,WAAYlI,EAAMkI,WAKlBpE,UAAW9D,EAAM8D,UACjBkG,SAAUhK,EAAMgK,SAChB8F,UAAW9P,EAAM8P,WAAa/H,GAAW/H,EAAM8P,WAC/CC,WAAY/P,EAAM+P,YAAchI,GAAW/H,EAAM+P,YACjD1f,GAAI2P,EAAM3P,GACV8vB,OAAQngB,EAAMmgB,OACdja,IAAKlG,EAAMkG,IACXqe,GAAIvkB,EAAMukB,GAGd,CAQA,SAASwH,GAAgBnwC,EAAO,IAAKowC,EAAO,GAC1C,OAAOrkB,GAAYwS,GAAM,KAAMv+B,EAAMowC,EACvC,CAMA,SAASC,GAAmBrwC,EAAO,GAAIswC,GAAU,GAC/C,OAAOA,GAAW1Y,KAAaI,GAAYxlB,GAAS,KAAMxS,IAAS+rB,GAAYvZ,GAAS,KAAMxS,EAChG,CACA,SAAS2rB,GAAe8F,GACtB,OAAa,MAATA,GAAkC,kBAAVA,EACnB1F,GAAYvZ,IACVvX,EAAQw2B,GACV1F,GACLwI,GACA,KAEA9C,EAAMprB,SAEkB,iBAAVorB,EACToU,GAAepU,GAEf1F,GAAYwS,GAAM,KAAMvxB,OAAOykB,GAE1C,CACA,SAASoU,GAAepU,GACtB,OAAoB,OAAbA,EAAMhd,KAAoC,IAArBgd,EAAM+C,WAAoB/C,EAAM8e,KAAO9e,EAAQtF,GAAWsF,EACxF,CACA,SAAS2d,GAAkBhrB,EAAOmN,GAChC,IAAIlvB,EAAO,EACX,MAAM,UAAEopB,GAAcrH,EACtB,GAAgB,MAAZmN,EACFA,EAAW,UACN,GAAIt2B,EAAQs2B,GACjBlvB,EAAO,QACF,GAAwB,iBAAbkvB,EAAuB,CACvC,GAAgB,GAAZ9F,EAAsB,CACxB,MAAMkM,EAAOpG,EAAShvB,QAMtB,YALIo1B,IACFA,EAAK9M,KAAO8M,EAAKjN,IAAK,GACtB0kB,GAAkBhrB,EAAOuT,KACzBA,EAAK9M,KAAO8M,EAAKjN,IAAK,IAG1B,CAAO,CACLroB,EAAO,GACP,MAAMmuC,EAAWjf,EAASvgB,EACrBw/B,GAAcnP,MAAqB9P,EAEhB,IAAbif,GAAkBxmB,KACc,IAArCA,GAAyBkB,MAAMla,EACjCugB,EAASvgB,EAAI,GAEbugB,EAASvgB,EAAI,EACboT,EAAMoQ,WAAa,OANrBjD,EAAS2P,KAAOlX,EASpB,CACF,MAAWhV,EAAWuc,IACpBA,EAAW,CAAEhvB,QAASgvB,EAAU2P,KAAMlX,IACtC3nB,EAAO,KAEPkvB,EAAWvkB,OAAOukB,GACF,GAAZ9F,GACFppB,EAAO,GACPkvB,EAAW,CAAC4e,GAAgB5e,KAE5BlvB,EAAO,GAGX+hB,EAAMmN,SAAWA,EACjBnN,EAAMqH,WAAappB,CACrB,CAyBA,SAASojC,GAAgBpe,EAAMtD,EAAUK,EAAOmL,EAAY,MAC1DrL,GAA2BmD,EAAMtD,EAAU,EAAG,CAC5CK,EACAmL,GAEJ,CAEA,MAAMiY,GAAkBhL,KACxB,IAAIpU,GAAM,EA4FV,IAAIiF,GAAkB,KACtB,MAAMwD,GAAqBA,IAAMxD,IAAmBrD,GACpD,IAAIymB,GACAC,GACAC,GAAa,4BAETD,GAA+Bn5B,IAAgBo5B,OACnDD,GAA+Bn5B,IAAgBo5B,IAAc,IAE/DD,GAA6BhvC,MAAMmS,GAAMwZ,GAAkBxZ,IAC3D48B,GAA8B1sB,IACxB2sB,GAA6BjzC,OAAS,EACxCizC,GAA6BvtC,SAASuqB,GAAMA,EAAE3J,KAE9C2sB,GAA6B,GAAG3sB,EAClC,EAGJ,MAAM0K,GAAsB1K,IAC1B0sB,GAA2B1sB,GAC3BA,EAAS/I,MAAMtB,IAAI,EAEfgV,GAAuBA,KAC3BrB,IAAmBA,GAAgBrS,MAAMrB,MACzC82B,GAA2B,KAAK,EAWlC,SAASnY,GAAoBvU,GAC3B,OAAkC,EAA3BA,EAASK,MAAMqH,SACxB,CACA,IAyGImlB,GACAC,GA1GA9iB,IAAwB,EA8E5B,SAASsb,GAAkBtlB,EAAUilB,EAAarlB,GAC5C3O,EAAWg0B,GACTjlB,EAAS1hB,KAAKyuC,kBAChB/sB,EAASgtB,UAAY/H,EAErBjlB,EAASqH,OAAS4d,EAEX7zB,EAAS6zB,KAM+BrgB,wBAC/C5E,EAASitB,sBAAwBhI,GAEnCjlB,EAASuH,WAAahI,GAAU0lB,IASlCM,GAAqBvlB,EAAUJ,EACjC,CAYA,SAAS2lB,GAAqBvlB,EAAUJ,EAAOstB,GAC7C,MAAMlmB,EAAYhH,EAAS1hB,KAC3B,IAAK0hB,EAASqH,OAAQ,CACpB,IAAKzH,GAASitB,KAAY7lB,EAAUK,OAAQ,CAC1C,MAAM8lB,EAAWnmB,EAAUmmB,UAAY9X,GAAqBrV,GAAUmtB,SACtE,GAAIA,EAAU,CAIZ,MAAM,gBAAEC,EAAe,gBAAEvU,GAAoB7Y,EAASY,WAAWC,QAC3D,WAAEwsB,EAAYxU,gBAAiByU,GAA6BtmB,EAC5DumB,EAAuBh9B,EAC3BA,EACE,CACE68B,kBACAC,cAEFxU,GAEFyU,GAEFtmB,EAAUK,OAASwlB,GAAQM,EAAUI,EAIvC,CACF,CACAvtB,EAASqH,OAASL,EAAUK,QAAUpX,EAClC68B,IACFA,GAAiB9sB,EAErB,CACIyF,sBACFiF,GAAmB1K,GACnBhI,KA79HJ,SAAsBgI,GACpB,MAAMgG,EAAUqP,GAAqBrV,GAC/BwK,EAAaxK,EAAS3B,MACtBkI,EAAMvG,EAASuG,IACrBwP,IAAoB,EAChB/P,EAAQuR,cACVpI,GAASnJ,EAAQuR,aAAcvX,EAAU,MAE3C,MAEElpB,KAAM02C,EACNz0B,SAAU00B,EAAe,QACzBpW,EACAvO,MAAO4kB,EACPpV,QAASqV,EACTpV,OAAQqV,EAAa,QAErBnW,EAAO,YACPC,EAAW,QACXrM,EAAO,aACPsM,EAAY,QACZrM,EAAO,UACP0M,EAAS,YACTC,EAAW,cACXL,EAAa,cACbC,EAAa,UACbC,EAAS,UACTC,EAAS,OACT1Q,EAAM,cACNwmB,EAAa,gBACbC,EAAe,cACf5V,EAAa,eACbC,EAAc,OAEd+M,EAAM,aACN1d,EAAY,WAEZ4Q,EAAU,WACVrN,EAAU,QACVgjB,GACE/nB,EAaJ,GAHI4nB,GA+IN,SAA2BA,EAAernB,EAAKynB,EAA2B/9B,GACpE/Y,EAAQ02C,KACVA,EAAgBpV,GAAgBoV,IAElC,IAAK,MAAMr3C,KAAOq3C,EAAe,CAC/B,MAAMjS,EAAMiS,EAAcr3C,GAC1B,IAAIk7B,EAGAA,EAFArgB,EAASuqB,GACP,YAAaA,EACJpD,GACToD,EAAIpI,MAAQh9B,EACZolC,EAAIn9B,SACJ,GAIS+5B,GAAOoD,EAAIpI,MAAQh9B,GAGrBgiC,GAAOoD,GAEhBnhB,GAAMiX,GACRj5B,OAAO6G,eAAeknB,EAAKhwB,EAAK,CAC9B0c,YAAY,EACZD,cAAc,EACdpG,IAAKA,IAAM6kB,EAASl1B,MACpB8D,IAAMd,GAAMkyB,EAASl1B,MAAQgD,IAG/BgnB,EAAIhwB,GAAOk7B,CAKf,CACF,CAjLIwc,CAAkBL,EAAernB,EAVqE,MAYpG8Q,EACF,IAAK,MAAM9gC,KAAO8gC,EAAS,CACzB,MAAM6W,EAAgB7W,EAAQ9gC,GAC1B0a,EAAWi9B,KASX3nB,EAAIhwB,GAAO23C,EAAcn4C,KAAKy0B,GAUpC,CAEF,GAAIgjB,EAAa,CAMf,MAAM12C,EAAO02C,EAAY70C,KAAK6xB,EAAYA,GAMrCpZ,EAASta,KAGZkpB,EAASlpB,KAAO4jB,GAAS5jB,GAe7B,CAEA,GADAi/B,IAAoB,EAChB0X,EACF,IAAK,MAAMl3C,KAAOk3C,EAAiB,CACjC,MAAM9R,EAAM8R,EAAgBl3C,GACtBqW,EAAMqE,EAAW0qB,GAAOA,EAAI5lC,KAAKy0B,EAAYA,GAAcvZ,EAAW0qB,EAAI/uB,KAAO+uB,EAAI/uB,IAAI7W,KAAKy0B,EAAYA,GAAcva,EAIxH5P,GAAO4Q,EAAW0qB,IAAQ1qB,EAAW0qB,EAAIt7B,KAAOs7B,EAAIt7B,IAAItK,KAAKy0B,GAI/Dva,EACEiC,EAAI6G,GAAS,CACjBnM,MACAvM,QAEF7H,OAAO6G,eAAeknB,EAAKhwB,EAAK,CAC9B0c,YAAY,EACZD,cAAc,EACdpG,IAAKA,IAAMsF,EAAE3V,MACb8D,IAAMd,GAAM2S,EAAE3V,MAAQgD,GAK1B,CAEF,GAAImuC,EACF,IAAK,MAAMn3C,KAAOm3C,EAChBpX,GAAcoX,EAAan3C,GAAMgwB,EAAKiE,EAAYj0B,GAGtD,GAAIo3C,EAAgB,CAClB,MAAM7U,EAAW7nB,EAAW08B,GAAkBA,EAAeh1C,KAAK6xB,GAAcmjB,EAChFpzB,QAAQU,QAAQ6d,GAAU15B,SAAS7I,KAscvC,SAAiBA,EAAKgG,GACpB,GAAK+sB,GAIE,CACL,IAAIwP,EAAWxP,GAAgBwP,SAC/B,MAAMqV,EAAiB7kB,GAAgBjU,QAAUiU,GAAgBjU,OAAOyjB,SACpEqV,IAAmBrV,IACrBA,EAAWxP,GAAgBwP,SAAWtgC,OAAOoX,OAAOu+B,IAEtDrV,EAASviC,GAAOgG,CAClB,CACF,CAldM+7B,CAAQ/hC,EAAKuiC,EAASviC,GAAK,GAE/B,CAIA,SAAS63C,EAAsBC,EAAU/qB,GACnCpsB,EAAQosB,GACVA,EAAKlkB,SAASkvC,GAAUD,EAASC,EAAMv4C,KAAKy0B,MACnClH,GACT+qB,EAAS/qB,EAAKvtB,KAAKy0B,GAEvB,CAaA,GAtBIiN,GACFtI,GAASsI,EAASzX,EAAU,KAS9BouB,EAAsBpc,GAAe0F,GACrC0W,EAAsBhhB,GAAW/B,GACjC+iB,EAAsBnc,GAAgB0F,GACtCyW,EAAsBlc,GAAW5G,GACjC8iB,EAAsBrd,GAAaiH,GACnCoW,EAAsBnd,GAAegH,GACrCmW,EAAsB9b,GAAiB4F,GACvCkW,EAAsB/b,GAAiBwb,GACvCO,EAAsBhc,GAAmB0b,GACzCM,EAAsB/gB,GAAiBwK,GACvCuW,EAAsB1c,GAAaqG,GACnCqW,EAAsBjc,GAAkBgG,GACpCjhC,EAAQguC,GACV,GAAIA,EAAOxrC,OAAQ,CACjB,MAAMgqC,EAAU1jB,EAAS0jB,UAAY1jB,EAAS0jB,QAAU,CAAC,GACzDwB,EAAO9lC,SAAS7I,IACdiC,OAAO6G,eAAeqkC,EAASntC,EAAK,CAClCqW,IAAKA,IAAM4d,EAAWj0B,GACtB8J,IAAM7J,GAAQg0B,EAAWj0B,GAAOC,GAChC,GAEN,MAAYwpB,EAAS0jB,UACnB1jB,EAAS0jB,QAAU,CAAC,GAGpBrc,GAAUrH,EAASqH,SAAWpX,IAChC+P,EAASqH,OAASA,GAEA,MAAhBG,IACFxH,EAASwH,aAAeA,GAEtB4Q,IACFpY,EAASoY,WAAaA,GACpBrN,IACF/K,EAAS+K,WAAaA,EAC1B,CA8xHIwjB,CAAavuB,GACb/H,KACA0S,KAYJ,CAkFA,SAASM,GAAejL,GACtB,GAAIA,EAAS0jB,QACX,OAAO1jB,EAAS2jB,cAAgB3jB,EAAS2jB,YAAc,IAAIrlB,MAAMiB,GAAUd,GAAQuB,EAAS0jB,UAAW,CACrG92B,IAAGA,CAACvW,EAAQE,IACNA,KAAOF,EACFA,EAAOE,GACLA,KAAOi+B,GACTA,GAAoBj+B,GAAKypB,QAD3B,EAITzH,IAAGA,CAACliB,EAAQE,IACHA,KAAOF,GAAUE,KAAOi+B,KAIvC,CAgCA,MAAMzb,GAAWA,CAACy1B,EAAiBC,IDzrMnC,SAAkBD,EAAiBC,EAAc7uB,GAAQ,GACvD,IAAIF,EACAgvB,EACJ,MAAMC,EAAa19B,EAAWu9B,GAe9B,OAdIG,GACFjvB,EAAS8uB,EACTE,EAEIz+B,IAEJyP,EAAS8uB,EAAgB5hC,IACzB8hC,EAASF,EAAgBnuC,KAEd,IAAIof,GAAgBC,EAAQgvB,EAAQC,IAAeD,EAAQ9uB,EAM1E,CCuqMSgvB,CAAWJ,EAAiBC,EAAczkB,IAGnD,SAASrd,GAAErO,EAAMuwC,EAAiBrhB,GAChC,MAAMzX,EAAIklB,UAAUvhC,OACpB,OAAU,IAANqc,EACE3E,EAASy9B,KAAqB33C,EAAQ23C,GACpCxa,GAAQwa,GACH7mB,GAAY1pB,EAAM,KAAM,CAACuwC,IAE3B7mB,GAAY1pB,EAAMuwC,GAElB7mB,GAAY1pB,EAAM,KAAMuwC,IAG7B94B,EAAI,EACNyX,EAAWv2B,MAAMwB,UAAU6J,MAAM3J,KAAKsiC,UAAW,GAClC,IAANllB,GAAWse,GAAQ7G,KAC5BA,EAAW,CAACA,IAEPxF,GAAY1pB,EAAMuwC,EAAiBrhB,GAE9C,CAEA,MAAMshB,GAAgBj4B,OAAO+b,IAAI,SAC3B3I,GAAgBA,IAENsO,GAAOuW,IAuNjBjV,GAAU,QCziPVkV,GAA0B,oBAAbz/B,SAA2BA,SAAW,KACnD0/B,GAAoBD,IAAuBA,GAAI7P,cAAc,YAC7D+P,GAAU,CACdpQ,OAAQA,CAACnR,EAAOrY,EAAQmrB,KACtBnrB,EAAO65B,aAAaxhB,EAAO8S,GAAU,KAAK,EAE5C/vB,OAASid,IACP,MAAMrY,EAASqY,EAAMkS,WACjBvqB,GACFA,EAAO85B,YAAYzhB,EACrB,EAEFwR,cAAeA,CAACkQ,EAAK9U,EAAO5nB,EAAItc,KAC9B,MAAMsa,EAAK4pB,EAAQyU,GAAIM,gBAdb,6BAcoCD,GAAOL,GAAI7P,cAAckQ,EAAK18B,EAAK,CAAEA,WAAO,GAI1F,MAHY,WAAR08B,GAAoBh5C,GAA2B,MAAlBA,EAAMk5C,UACrC5+B,EAAG6+B,aAAa,WAAYn5C,EAAMk5C,UAE7B5+B,CAAE,EAEX0uB,WAAanjC,GAAS8yC,GAAIS,eAAevzC,GACzCqjC,cAAgBrjC,GAAS8yC,GAAIzP,cAAcrjC,GAC3CujC,QAASA,CAACiQ,EAAMxzC,KACdwzC,EAAKC,UAAYzzC,CAAI,EAEvByjC,eAAgBA,CAAChvB,EAAIzU,KACnByU,EAAGi/B,YAAc1zC,CAAI,EAEvB2jC,WAAa6P,GAASA,EAAK7P,WAC3BE,YAAc2P,GAASA,EAAK3P,YAC5B8P,cAAgB1lC,GAAa6kC,GAAIa,cAAc1lC,GAC/C81B,WAAWtvB,EAAIqR,GACbrR,EAAG6+B,aAAaxtB,EAAI,GACtB,EAKAme,oBAAoB2P,EAASx6B,EAAQmrB,EAAQlG,EAAOtY,EAAOC,GACzD,MAAM6tB,EAAStP,EAASA,EAAOuP,gBAAkB16B,EAAO26B,UACxD,GAAIhuB,IAAUA,IAAUC,GAAOD,EAAM8d,aACnC,KACEzqB,EAAO65B,aAAaltB,EAAMiuB,WAAU,GAAOzP,GACvCxe,IAAUC,IAASD,EAAQA,EAAM8d,mBAGlC,CACLkP,GAAkBkB,UAAY5V,EAAS,QAAOuV,UAAkBA,EAChE,MAAM1C,EAAW6B,GAAkBa,QACnC,GAAIvV,EAAO,CACT,MAAM6V,EAAUhD,EAASiD,WACzB,KAAOD,EAAQC,YACbjD,EAASkD,YAAYF,EAAQC,YAE/BjD,EAASgC,YAAYgB,EACvB,CACA96B,EAAO65B,aAAa/B,EAAU3M,EAChC,CACA,MAAO,CAELsP,EAASA,EAAOhQ,YAAczqB,EAAO+6B,WAErC5P,EAASA,EAAOuP,gBAAkB16B,EAAO26B,UAE7C,GA8CIM,GAAc,iBACpB,SAASC,GAAS/N,EAAO7qC,EAAMnB,GAC7B,GAAIU,EAAQV,GACVA,EAAI4I,SAASG,GAAMgxC,GAAS/N,EAAO7qC,EAAM4H,UAWzC,GATW,MAAP/I,IACFA,EAAM,IAQJmB,EAAKyK,WAAW,MAClBogC,EAAMgO,YAAY74C,EAAMnB,OACnB,CACL,MAAMi6C,EAeZ,SAAoBjO,EAAOkO,GACzB,MAAMprB,EAASqrB,GAAYD,GAC3B,GAAIprB,EACF,OAAOA,EAET,IAAI3tB,EAAOsa,EAASy+B,GACpB,GAAa,WAAT/4C,GAAqBA,KAAQ6qC,EAC/B,OAAOmO,GAAYD,GAAW/4C,EAEhCA,EAAO0a,EAAW1a,GAClB,IAAK,IAAImY,EAAI,EAAGA,EAAI8gC,GAASl3C,OAAQoW,IAAK,CACxC,MAAM2gC,EAAWG,GAAS9gC,GAAKnY,EAC/B,GAAI84C,KAAYjO,EACd,OAAOmO,GAAYD,GAAWD,CAElC,CACA,OAAOC,CACT,CAhCuBG,CAAWrO,EAAO7qC,GAC/B24C,GAAYjgC,KAAK7Z,GACnBgsC,EAAMgO,YACJp+B,EAAUq+B,GACVj6C,EAAI0F,QAAQo0C,GAAa,IACzB,aAGF9N,EAAMiO,GAAYj6C,CAEtB,CAEJ,CACA,MAAMo6C,GAAW,CAAC,SAAU,MAAO,MAC7BD,GAAc,CAAC,EAoBfG,GAAU,+BAkEhB,SAASC,GAAiBrgC,EAAIvW,EAAO4qB,EAASiB,GAC5CtV,EAAGqgC,iBAAiB52C,EAAO4qB,EAASiB,EACtC,CAoBA,MAAMgrB,GAAoB,4BAc1B,IAAIC,GAAY,EAChB,MAAMrxC,GAAoBV,QAAQwiB,UAC5BwvB,GAASA,IAAMD,KAAcrxC,GAAE0R,MAAK,IAAM2/B,GAAY,IAAIA,GAAY32C,KAAK62C,OAgC3EC,GAAa,WAsEsB,oBAAhB3tB,aAA8BA,YAwRvD,MAAM4tB,GAAa,aACbC,GAAY,YACZC,GAAaA,CAACn7C,GAAS+wB,WAAYxa,GAAEsiB,GAmC3C,SAAgCrB,GAC9B,MAAM4jB,EAAY,CAAC,EACnB,IAAK,MAAMj7C,KAAOq3B,EACVr3B,KAAOk7C,KACXD,EAAUj7C,GAAOq3B,EAASr3B,IAG9B,IAAqB,IAAjBq3B,EAAS8jB,IACX,OAAOF,EAET,MAAM,KACJ75C,EAAO,IAAG,KACV2G,EAAI,SACJqzC,EAAQ,eACRC,EAAkB,GAAEj6C,eAAiB,iBACrCk6C,EAAoB,GAAEl6C,iBAAmB,aACzCm6C,EAAgB,GAAEn6C,aAAe,gBACjCo6C,EAAkBH,EAAc,kBAChCI,EAAoBH,EAAgB,cACpCI,EAAgBH,EAAY,eAC5BI,EAAkB,GAAEv6C,eAAiB,iBACrCw6C,EAAoB,GAAEx6C,iBAAmB,aACzCy6C,EAAgB,GAAEz6C,cAChBi2B,EACEykB,EAoFR,SAA2BV,GACzB,GAAgB,MAAZA,EACF,OAAO,KACF,GAAIvgC,EAASugC,GAClB,MAAO,CAACW,GAASX,EAASliB,OAAQ6iB,GAASX,EAAS5hB,QAC/C,CACL,MAAM5c,EAAIm/B,GAASX,GACnB,MAAO,CAACx+B,EAAGA,EACb,CACF,CA7FoBo/B,CAAkBZ,GAC9Ba,EAAgBH,GAAaA,EAAU,GACvCI,EAAgBJ,GAAaA,EAAU,IACvC,cACJrmB,EAAa,QACbC,EAAO,iBACPE,EAAgB,QAChBE,EAAO,iBACPE,EAAgB,eAChBC,EAAiBR,EAAa,SAC9BS,EAAWR,EAAO,kBAClBU,EAAoBR,GAClBqlB,EACEkB,EAAcA,CAAChiC,EAAIiiC,EAAU91B,KACjC+1B,GAAsBliC,EAAIiiC,EAAWV,EAAgBH,GACrDc,GAAsBliC,EAAIiiC,EAAWX,EAAoBH,GACzDh1B,GAAQA,GAAM,EAEVg2B,EAAcA,CAACniC,EAAImM,KACvBnM,EAAGoiC,YAAa,EAChBF,GAAsBliC,EAAIwhC,GAC1BU,GAAsBliC,EAAI0hC,GAC1BQ,GAAsBliC,EAAIyhC,GAC1Bt1B,GAAQA,GAAM,EAEVk2B,EAAiBJ,GACd,CAACjiC,EAAImM,KACV,MAAMyG,EAAOqvB,EAAWlmB,EAAWR,EAC7BvK,EAAUA,IAAMgxB,EAAYhiC,EAAIiiC,EAAU91B,GAChDsS,GAAS7L,EAAM,CAAC5S,EAAIgR,IACpBsxB,IAAU,KACRJ,GAAsBliC,EAAIiiC,EAAWZ,EAAkBH,GACvDqB,GAAmBviC,EAAIiiC,EAAWV,EAAgBH,GAC7CoB,GAAoB5vB,IACvB6vB,GAAmBziC,EAAIpS,EAAMk0C,EAAe9wB,EAC9C,GACA,EAGN,OAAOnR,EAAOihC,EAAW,CACvBxlB,cAActb,GACZye,GAASnD,EAAe,CAACtb,IACzBuiC,GAAmBviC,EAAIkhC,GACvBqB,GAAmBviC,EAAImhC,EACzB,EACArlB,eAAe9b,GACbye,GAAS3C,EAAgB,CAAC9b,IAC1BuiC,GAAmBviC,EAAIqhC,GACvBkB,GAAmBviC,EAAIshC,EACzB,EACA/lB,QAAS8mB,GAAc,GACvBtmB,SAAUsmB,GAAc,GACxB1mB,QAAQ3b,EAAImM,GACVnM,EAAGoiC,YAAa,EAChB,MAAMpxB,EAAUA,IAAMmxB,EAAYniC,EAAImM,GACtCo2B,GAAmBviC,EAAIwhC,GAmJpB5iC,SAAS8jC,KAAKC,aAjJjBJ,GAAmBviC,EAAIyhC,GACvBa,IAAU,KACHtiC,EAAGoiC,aAGRF,GAAsBliC,EAAIwhC,GAC1Be,GAAmBviC,EAAI0hC,GAClBc,GAAoB7mB,IACvB8mB,GAAmBziC,EAAIpS,EAAMm0C,EAAe/wB,GAC9C,IAEFyN,GAAS9C,EAAS,CAAC3b,EAAIgR,GACzB,EACAyK,iBAAiBzb,GACfgiC,EAAYhiC,GAAI,GAChBye,GAAShD,EAAkB,CAACzb,GAC9B,EACAic,kBAAkBjc,GAChBgiC,EAAYhiC,GAAI,GAChBye,GAASxC,EAAmB,CAACjc,GAC/B,EACA6b,iBAAiB7b,GACfmiC,EAAYniC,GACZye,GAAS5C,EAAkB,CAAC7b,GAC9B,GAEJ,CA9I2D4iC,CAAuBl9C,GAAQ+wB,GAC1FoqB,GAAWte,YAAc,aACzB,MAAMwe,GAA+B,CACnC95C,KAAMsR,OACN3K,KAAM2K,OACNyoC,IAAK,CACHpzC,KAAMwF,QACNtF,SAAS,GAEXmzC,SAAU,CAAC1oC,OAAQW,OAAQpR,QAC3Bo5C,eAAgB3oC,OAChB4oC,iBAAkB5oC,OAClB6oC,aAAc7oC,OACd8oC,gBAAiB9oC,OACjB+oC,kBAAmB/oC,OACnBgpC,cAAehpC,OACfipC,eAAgBjpC,OAChBkpC,iBAAkBlpC,OAClBmpC,aAAcnpC,QAOVkmB,IAL4BoiB,GAAWn7C,MAAwBma,EACnE,CAAC,EACDqb,GACA6lB,IAEetiB,CAAC7L,EAAM1J,EAAO,MACzB1iB,EAAQosB,GACVA,EAAKlkB,SAASm0C,GAAOA,KAAM35B,KAClB0J,GACTA,KAAQ1J,EACV,GAEIs5B,GAAuB5vB,KACpBA,IAAOpsB,EAAQosB,GAAQA,EAAK4E,MAAMqrB,GAAOA,EAAG75C,OAAS,IAAK4pB,EAAK5pB,OAAS,GAwHjF,SAAS44C,GAAS97C,GAKhB,OAJY6c,EAAS7c,EAKvB,CACA,SAASy8C,GAAmBviC,EAAI8iC,GAC9BA,EAAIt1C,MAAM,OAAOkB,SAAS8S,GAAMA,GAAKxB,EAAG+iC,UAAUj7B,IAAItG,MACrDxB,EAAGgjC,OAAShjC,EAAGgjC,KAAuB,IAAIj4C,MAAQ+c,IAAIg7B,EACzD,CACA,SAASZ,GAAsBliC,EAAI8iC,GACjCA,EAAIt1C,MAAM,OAAOkB,SAAS8S,GAAMA,GAAKxB,EAAG+iC,UAAUhjC,OAAOyB,KACzD,MAAM,KAAEwhC,GAAShjC,EACbgjC,IACFA,EAAKh8B,OAAO87B,GACPE,EAAKnmC,OACRmD,EAAGgjC,UAAO,GAGhB,CACA,SAASV,GAAUvwB,GACjBkxB,uBAAsB,KACpBA,sBAAsBlxB,EAAG,GAE7B,CACA,IAAImxB,GAAQ,EACZ,SAAST,GAAmBziC,EAAImjC,EAAcC,EAAiBpyB,GAC7D,MAAMK,EAAKrR,EAAGqjC,SAAWH,GACnBI,EAAoBA,KACpBjyB,IAAOrR,EAAGqjC,QACZryB,GACF,EAEF,GAAIoyB,EACF,OAAO5mC,WAAW8mC,EAAmBF,GAEvC,MAAM,KAAEx1C,EAAI,QAAE21C,EAAO,UAAEC,GAsBzB,SAA2BxjC,EAAImjC,GAC7B,MAAMM,EAAS3+C,OAAO4+C,iBAAiB1jC,GACjC2jC,EAAsB99C,IAAS49C,EAAO59C,IAAQ,IAAI2H,MAAM,MACxDo2C,EAAmBD,EAAoB,GAAEhD,WACzCkD,EAAsBF,EAAoB,GAAEhD,cAC5CmD,EAAoBC,GAAWH,EAAkBC,GACjDG,EAAkBL,EAAoB,GAAE/C,WACxCqD,EAAqBN,EAAoB,GAAE/C,cAC3CsD,EAAmBH,GAAWC,EAAiBC,GACrD,IAAIr2C,EAAO,KACP21C,EAAU,EACVC,EAAY,EAqBhB,OApBIL,IAAiBxC,GACfmD,EAAoB,IACtBl2C,EAAO+yC,GACP4C,EAAUO,EACVN,EAAYK,EAAoB76C,QAEzBm6C,IAAiBvC,GACtBsD,EAAmB,IACrBt2C,EAAOgzC,GACP2C,EAAUW,EACVV,EAAYS,EAAmBj7C,SAGjCu6C,EAAU1nC,KAAKa,IAAIonC,EAAmBI,GACtCt2C,EAAO21C,EAAU,EAAIO,EAAoBI,EAAmBvD,GAAaC,GAAY,KACrF4C,EAAY51C,EAAOA,IAAS+yC,GAAakD,EAAoB76C,OAASi7C,EAAmBj7C,OAAS,GAK7F,CACL4E,OACA21C,UACAC,YACAW,aAPmBv2C,IAAS+yC,IAAc,yBAAyBhhC,KACnEgkC,EAAoB,GAAEhD,cAAsB52C,YAQhD,CA5DuCq6C,CAAkBpkC,EAAImjC,GAC3D,IAAKv1C,EACH,OAAOojB,IAET,MAAMqzB,EAAWz2C,EAAO,MACxB,IAAI02C,EAAQ,EACZ,MAAM/yB,EAAMA,KACVvR,EAAGukC,oBAAoBF,EAAUG,GACjClB,GAAmB,EAEfkB,EAAS9oC,IACTA,EAAE/V,SAAWqa,KAAQskC,GAASd,GAChCjyB,GACF,EAEF/U,YAAW,KACL8nC,EAAQd,GACVjyB,GACF,GACCgyB,EAAU,GACbvjC,EAAGqgC,iBAAiBgE,EAAUG,EAChC,CAwCA,SAAST,GAAWU,EAAQ9C,GAC1B,KAAO8C,EAAOz7C,OAAS24C,EAAU34C,QAC/By7C,EAASA,EAAO7sB,OAAO6sB,GAEzB,OAAO5oC,KAAKa,OAAOilC,EAAUn5C,KAAI,CAAC6T,EAAG+C,IAAMslC,GAAKroC,GAAKqoC,GAAKD,EAAOrlC,MACnE,CACA,SAASslC,GAAKzrB,GACZ,OAAkD,IAA3C/f,OAAO+f,EAAErnB,MAAM,GAAI,GAAGpG,QAAQ,IAAK,KAC5C,CA8HA,MAAMm5C,GAAoBh1B,IACxB,MAAMvO,EAAKuO,EAAMjqB,MAAM,yBAA0B,EACjD,OAAOc,EAAQ4a,GAAOvV,GAAUoW,EAAeb,EAAIvV,GAASuV,CAAE,EAEhE,SAASwjC,GAAmBlpC,GAC1BA,EAAE/V,OAAOk/C,WAAY,CACvB,CACA,SAASC,GAAiBppC,GACxB,MAAM/V,EAAS+V,EAAE/V,OACbA,EAAOk/C,YACTl/C,EAAOk/C,WAAY,EACnBl/C,EAAOo/C,cAAc,IAAIC,MAAM,UAEnC,CACA,MAAMC,GAAa,CACjBle,QAAQ/mB,GAAM0a,WAAW,KAAEwqB,EAAI,KAAEx8C,EAAI,OAAEsrB,IAAYrE,GACjD3P,EAAGmlC,QAAUR,GAAiBh1B,GAC9B,MAAMy1B,EAAepxB,GAAUrE,EAAMjqB,OAA8B,WAArBiqB,EAAMjqB,MAAMkI,KAC1DyyC,GAAiBrgC,EAAIklC,EAAO,SAAW,SAAUxpC,IAC/C,GAAIA,EAAE/V,OAAOk/C,UACX,OACF,IAAIQ,EAAWrlC,EAAGnU,MACdnD,IACF28C,EAAWA,EAAS38C,QAElB08C,IACFC,EAAW7iC,EAAc6iC,IAE3BrlC,EAAGmlC,QAAQE,EAAS,IAElB38C,GACF23C,GAAiBrgC,EAAI,UAAU,KAC7BA,EAAGnU,MAAQmU,EAAGnU,MAAMnD,MAAM,IAGzBw8C,IACH7E,GAAiBrgC,EAAI,mBAAoB4kC,IACzCvE,GAAiBrgC,EAAI,iBAAkB8kC,IACvCzE,GAAiBrgC,EAAI,SAAU8kC,IAEnC,EAEAnqB,QAAQ3a,GAAI,MAAEnU,IACZmU,EAAGnU,MAAiB,MAATA,EAAgB,GAAKA,CAClC,EACAo7B,aAAajnB,GAAI,MAAEnU,EAAO6uB,WAAW,KAAEwqB,EAAI,KAAEx8C,EAAI,OAAEsrB,IAAYrE,GAE7D,GADA3P,EAAGmlC,QAAUR,GAAiBh1B,GAC1B3P,EAAG6kC,UACL,OACF,GAAIjmC,SAAS0mC,gBAAkBtlC,GAAkB,UAAZA,EAAGpS,KAAkB,CACxD,GAAIs3C,EACF,OAEF,GAAIx8C,GAAQsX,EAAGnU,MAAMnD,SAAWmD,EAC9B,OAEF,IAAKmoB,GAAsB,WAAZhU,EAAGpS,OAAsB4U,EAAcxC,EAAGnU,SAAWA,EAClE,MAEJ,CACA,MAAMmc,EAAoB,MAATnc,EAAgB,GAAKA,EAClCmU,EAAGnU,QAAUmc,IACfhI,EAAGnU,MAAQmc,EAEf,GA4MIu9B,GAAkB,CAAC,OAAQ,QAAS,MAAO,QAC3CC,GAAiB,CACrBrgC,KAAOzJ,GAAMA,EAAE+pC,kBACfC,QAAUhqC,GAAMA,EAAEiqC,iBAClB9gD,KAAO6W,GAAMA,EAAE/V,SAAW+V,EAAEkqC,cAC5BC,KAAOnqC,IAAOA,EAAEoqC,QAChBC,MAAQrqC,IAAOA,EAAEsqC,SACjBC,IAAMvqC,IAAOA,EAAEwqC,OACfC,KAAOzqC,IAAOA,EAAE0qC,QAChBC,KAAO3qC,GAAM,WAAYA,GAAkB,IAAbA,EAAE4qC,OAChC90B,OAAS9V,GAAM,WAAYA,GAAkB,IAAbA,EAAE4qC,OAClCC,MAAQ7qC,GAAM,WAAYA,GAAkB,IAAbA,EAAE4qC,OACjCE,MAAOA,CAAC9qC,EAAGgf,IAAc6qB,GAAgB/tB,MAAM2O,GAAMzqB,EAAG,GAAEyqB,UAAYzL,EAAU9xB,SAASu9B,MAErFsgB,GAAgBA,CAACrlC,EAAIsZ,IAClB,CAACjxB,KAAUyf,KAChB,IAAK,IAAI9J,EAAI,EAAGA,EAAIsb,EAAU1xB,OAAQoW,IAAK,CACzC,MAAMsnC,EAAQlB,GAAe9qB,EAAUtb,IACvC,GAAIsnC,GAASA,EAAMj9C,EAAOixB,GACxB,MACJ,CACA,OAAOtZ,EAAG3X,KAAUyf,EAAK,EAsEvBy9B,GAAkC9mC,EAAO,CAAEyuB,UAvkC/BA,CAACtuB,EAAIna,EAAK+gD,EAAWC,EAAWjd,GAAQ,EAAOwL,EAAcrF,EAAiB1C,EAAgByD,KAClG,UAARjrC,EAxON,SAAoBma,EAAInU,EAAO+9B,GAC7B,MAAMkd,EAAoB9mC,EAAGgjC,KACzB8D,IACFj7C,GAASA,EAAQ,CAACA,KAAUi7C,GAAqB,IAAIA,IAAoB97C,KAAK,MAEnE,MAATa,EACFmU,EAAG+mC,gBAAgB,SACVnd,EACT5pB,EAAG6+B,aAAa,QAAShzC,GAEzBmU,EAAGgnC,UAAYn7C,CAEnB,CA6NIo7C,CAAWjnC,EAAI6mC,EAAWjd,GACT,UAAR/jC,EA5Nb,SAAoBma,EAAI0V,EAAMxJ,GAC5B,MAAM4lB,EAAQ9xB,EAAG8xB,MACXoV,EAAc1mC,EAAS0L,GAC7B,GAAIA,IAASg7B,EAAa,CACxB,GAAIxxB,IAASlV,EAASkV,GACpB,IAAK,MAAM7vB,KAAO6vB,EACC,MAAbxJ,EAAKrmB,IACPg6C,GAAS/N,EAAOjsC,EAAK,IAI3B,IAAK,MAAMA,KAAOqmB,EAChB2zB,GAAS/N,EAAOjsC,EAAKqmB,EAAKrmB,GAE9B,KAAO,CACL,MAAMshD,EAAiBrV,EAAMsV,QACzBF,EACExxB,IAASxJ,IACX4lB,EAAMzuB,QAAU6I,GAETwJ,GACT1V,EAAG+mC,gBAAgB,SAEjB,SAAU/mC,IACZ8xB,EAAMsV,QAAUD,EAEpB,CACF,CAkMIE,CAAWrnC,EAAI4mC,EAAWC,GACjBnnC,EAAK7Z,GACT+Z,EAAgB/Z,IAvEzB,SAAoBma,EAAIggC,EAAS4G,EAAWC,EAAWv3B,EAAW,MAChE,MAAMg4B,EAAWtnC,EAAGunC,OAASvnC,EAAGunC,KAAO,CAAC,GAClCC,EAAkBF,EAAStH,GACjC,GAAI6G,GAAaW,EACfA,EAAgB37C,MAAQg7C,MACnB,CACL,MAAO5/C,EAAMquB,GAWjB,SAAmBruB,GACjB,IAAIquB,EACJ,GAAIgrB,GAAkB3gC,KAAK1Y,GAAO,CAEhC,IAAIk/B,EACJ,IAFA7Q,EAAU,CAAC,EAEJ6Q,EAAIl/B,EAAK4F,MAAMyzC,KACpBr5C,EAAOA,EAAK2K,MAAM,EAAG3K,EAAK+B,OAASm9B,EAAE,GAAGn9B,QACxCssB,EAAQ6Q,EAAE,GAAGx9B,gBAAiB,CAElC,CAEA,MAAO,CADmB,MAAZ1B,EAAK,GAAaA,EAAK2K,MAAM,GAAK8P,EAAUza,EAAK2K,MAAM,IACtD0jB,EACjB,CAvB4BmyB,CAAUzH,GAClC,GAAI6G,EAAW,CACb,MAAMa,EAAUJ,EAAStH,GAyB/B,SAAuB2H,EAAcr4B,GACnC,MAAMo4B,EAAWhsC,IACf,GAAKA,EAAEksC,MAEA,GAAIlsC,EAAEksC,MAAQF,EAAQG,SAC3B,YAFAnsC,EAAEksC,KAAOh+C,KAAK62C,MAIhBhxB,GAWJ,SAAuC/T,EAAG7P,GACxC,GAAIrF,EAAQqF,GAAQ,CAClB,MAAMi8C,EAAepsC,EAAEqsC,yBAKvB,OAJArsC,EAAEqsC,yBAA2B,KAC3BD,EAAa7/C,KAAKyT,GAClBA,EAAEssC,UAAW,CAAI,EAEZn8C,EAAMrD,KAAK4Y,GAAQ61B,IAAQA,EAAG+Q,UAAY5mC,GAAMA,EAAG61B,IAC5D,CACE,OAAOprC,CAEX,CArBMo8C,CAA8BvsC,EAAGgsC,EAAQ77C,OACzCyjB,EACA,EACA,CAAC5T,GACF,EAIH,OAFAgsC,EAAQ77C,MAAQ87C,EAChBD,EAAQG,SAAWrH,KACZkH,CACT,CA1C0CQ,CAAcrB,EAAWv3B,GAC7D+wB,GAAiBrgC,EAAI/Y,EAAMygD,EAASpyB,EACtC,MAAWkyB,IAbf,SAA6BxnC,EAAIvW,EAAO4qB,EAASiB,GAC/CtV,EAAGukC,oBAAoB96C,EAAO4qB,EAASiB,EACzC,CAYMivB,CAAoBvkC,EAAI/Y,EAAMugD,EAAiBlyB,GAC/CgyB,EAAStH,QAAW,EAExB,CACF,CAyDMmI,CAAWnoC,EAAIna,EAAK+gD,EAAWC,EAAW9W,IAExB,MAAXlqC,EAAI,IAAcA,EAAMA,EAAI+L,MAAM,GAAI,GAAmB,MAAX/L,EAAI,IAAcA,EAAMA,EAAI+L,MAAM,GAAI,GAmBjG,SAAyBoO,EAAIna,EAAKgG,EAAO+9B,GACvC,OAAIA,EACU,cAAR/jC,GAA+B,gBAARA,MAGvBA,KAAOma,GAAM0gC,GAAW/gC,KAAK9Z,IAAQ0a,EAAW1U,IAK1C,eAARhG,GAAgC,cAARA,GAA+B,cAARA,IAGvC,SAARA,KAGQ,SAARA,GAAiC,UAAfma,EAAGooC,YAGb,SAARviD,GAAiC,aAAfma,EAAGooC,aAGrB1H,GAAW/gC,KAAK9Z,KAAQ2a,EAAS3U,KAG9BhG,KAAOma,KAChB,CA7C0GqoC,CAAgBroC,EAAIna,EAAKghD,EAAWjd,IAhI9I,SAAsB5pB,EAAIna,EAAKgG,EAAOupC,EAAcrF,EAAiB1C,EAAgByD,GACnF,GAAY,cAARjrC,GAA+B,gBAARA,EAKzB,OAJIuvC,GACFtE,EAAgBsE,EAAcrF,EAAiB1C,QAEjDrtB,EAAGna,GAAgB,MAATgG,EAAgB,GAAKA,GAGjC,MAAM6yC,EAAM1+B,EAAGooC,QACf,GAAY,UAARviD,GAA2B,aAAR64C,IACtBA,EAAI91C,SAAS,KAAM,CAClBoX,EAAGyO,OAAS5iB,EACZ,MACMmc,EAAoB,MAATnc,EAAgB,GAAKA,EAOtC,OARyB,WAAR6yC,EAAmB1+B,EAAGsoC,aAAa,SAAWtoC,EAAGnU,SAEjDmc,IACfhI,EAAGnU,MAAQmc,QAEA,MAATnc,GACFmU,EAAG+mC,gBAAgBlhD,GAGvB,CACA,IAAI0iD,GAAa,EACjB,GAAc,KAAV18C,GAAyB,MAATA,EAAe,CACjC,MAAM+B,SAAcoS,EAAGna,GACV,YAAT+H,EACF/B,EAAQ6X,EAAmB7X,GACT,MAATA,GAA0B,WAAT+B,GAC1B/B,EAAQ,GACR08C,GAAa,GACK,WAAT36C,IACT/B,EAAQ,EACR08C,GAAa,EAEjB,CACA,IACEvoC,EAAGna,GAAOgG,CACZ,CAAE,MAAO6P,GAOT,CACA6sC,GAAcvoC,EAAG+mC,gBAAgBlhD,EACnC,CAmFI2iD,CACExoC,EACAna,EACAghD,EACAzR,EACArF,EACA1C,EACAyD,IAGU,eAARjrC,EACFma,EAAGyoC,WAAa5B,EACC,gBAARhhD,IACTma,EAAG0oC,YAAc7B,GA/JvB,SAAmB7mC,EAAIna,EAAKgG,EAAO+9B,EAAOta,GACxC,GAAIsa,GAAS/jC,EAAI6L,WAAW,UACb,MAAT7F,EACFmU,EAAG2oC,kBAAkBvI,GAASv6C,EAAI+L,MAAM,EAAG/L,EAAImD,SAE/CgX,EAAG4oC,eAAexI,GAASv6C,EAAKgG,OAE7B,CACL,MAAMg9C,EAAYplC,EAAqB5d,GAC1B,MAATgG,GAAiBg9C,IAAcnlC,EAAmB7X,GACpDmU,EAAG+mC,gBAAgBlhD,GAEnBma,EAAG6+B,aAAah5C,EAAKgjD,EAAY,GAAKh9C,EAE1C,CACF,CAkJIi9C,CAAU9oC,EAAIna,EAAKghD,EAAWjd,GAChC,GA6iC4D2U,IAC9D,IAAInK,GAEJ,SAAS2U,KACP,OAAO3U,KAAaA,GDm+GbrG,GCn+GuC4Y,IAChD,CAMA,MAAMhwB,GAASA,IAAIzN,KACjB6/B,KAAiBpyB,UAAUzN,EAAK,EAkGlC,qBCp6CiBmI,GAAG,qEC3CgC23B,KAAK,0FAIWA,KAAK,0FCErE,UACI/hD,KAAM,gBACNvB,MAAO,CAAEwR,QAAS9D,SAClBuzB,QAAS,CAAEsiB,iBAAgBA,GAAAA,oBCxBnC,MAEA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDYvDC,GAGO,aAFHC,GAA4K,QAArKtX,MAAKuX,EAAA,kBAAmB3c,EAAAvI,OAAOhtB,QAAU,mBAAqB,KAAO46B,MAAKuX,EAAA,IAAO3kB,EAAAukB,iBAAiB,IAAK,KAAN7B,QAAA,eAAAkC,YAAA,mBACxGH,GAA4K,QAArKtX,MAAKuX,EAAA,kBAAmB3c,EAAAvI,OAAOhtB,QAAU,mBAAqB,KAAO46B,MAAKuX,EAAA,IAAO3kB,EAAAukB,iBAAiB,IAAK,KAAN7B,QAAA,eAAAkC,YAAA,wCDmB5G,UACIriD,KAAM,QACNygC,WAAY,CACR6hB,cAAaA,IAEjB7jD,MAAO,CACHU,KAAMmS,OACNrB,QAAS9D,SAEbhN,KAAIA,KACO,CACHoP,OAAO,EACPZ,WAAW,EACX40C,QAAQ,EACRC,KAAIA,GAAAA,UAGZrxB,MAAO,CACHhyB,OACImY,KAAKmrC,YACT,GAEJ/uB,UACIpc,KAAKmrC,YACT,EACA/iB,QAAS,CACLlgC,mBACI,GAAyB,KAArB8X,KAAK2lB,OAAO99B,KAAa,OAE7BmY,KAAK0lB,MAAMulB,QAAS,EACpBjrC,KAAK0lB,MAAMrvB,WAAY,EACvB,MAAM/N,cAAoB8iD,EAAAA,GAAAA,SAAMprC,KAAK2lB,OAAO99B,KAAM,OAAOS,OAEzD,GADA0X,KAAK0lB,MAAMulB,QAAS,GACf3iD,EAAKmH,OAGN,OAFAuQ,KAAK0lB,MAAMzuB,OAAQ,OACnB+I,KAAK0lB,MAAMrvB,WAAY,GAG3B2J,KAAK0lB,MAAMzuB,MAAQ3O,EAAKmH,OAAO,GAAG5H,KAAKyG,MAAM,yBACjD,IGtEZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,uEHYvDq8C,GAaO,aAZSjlB,EAAAulB,QAAM,KAAlBN,GAQO,OAAAU,GAAA,CAPS3lB,EAAAzuB,OAAK,KAAjB0zC,GAEO,OAAAW,GAAA,MADA5lB,EAAAwlB,KAAK51C,UAAU2B,MAAMd,OAAQ,IAAC,GAAAy0C,GAAoG,IAApGW,GAAoGC,EAArC9lB,EAAAwlB,KAAK51C,UAAU2B,MAAMnB,WAAS,YAElI60C,GAGO,OAAAc,GAAA,CAFS/lB,EAAArvB,WAAS,KAArBs0C,GAAkE,OAAAe,GAAAF,EAAxC9lB,EAAAwlB,KAAK51C,UAAU2B,MAAMZ,WAAS,UACxDs0C,GAA4J,OAAAgB,GAAA,MAA5IjmB,EAAAwlB,KAAK51C,UAAU2B,MAAMb,UAAW,IAAC,GAAAw0C,GAAoG,IAApGgB,GAAoGJ,EAArC9lB,EAAAwlB,KAAK51C,UAAU2B,MAAMnB,WAAS,kBAGtJ60C,GAEO,OAAAkB,GAAA,CADHC,GAAyDC,EAAA,CAAzCpzC,QAASu1B,EAAAvI,OAAOhtB,2EINxBiyC,GAA2B,KAAxBtX,MAAM,eAAa,iFAerBA,MAAM,uBACAA,MAAM,0DA2BesX,GAAM,4CASdA,GAAM,oDAkB/BrX,MAAA,4CAOiBA,MAAA,qCAUxBqX,GAAI,mBCtGZ,IAAIoB,GAAM,MACNC,GAAS,SACTjE,GAAQ,QACRF,GAAO,OACPoE,GAAO,OACPC,GAAiB,CAACH,GAAKC,GAAQjE,GAAOF,IACtC/0B,GAAQ,QACRC,GAAM,MACNo5B,GAAkB,kBAClBC,GAAW,WACXC,GAAS,SACTC,GAAY,YACZC,GAAmCL,GAAexmC,QAAO,SAAU8mC,EAAKC,GAC1E,OAAOD,EAAIpzB,OAAO,CAACqzB,EAAY,IAAM35B,GAAO25B,EAAY,IAAM15B,IAChE,GAAG,IACC25B,GAA0B,GAAGtzB,OAAO8yB,GAAgB,CAACD,KAAOvmC,QAAO,SAAU8mC,EAAKC,GACpF,OAAOD,EAAIpzB,OAAO,CAACqzB,EAAWA,EAAY,IAAM35B,GAAO25B,EAAY,IAAM15B,IAC3E,GAAG,IAaC45B,GAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,cAGjB,SAASC,GAAYC,GACnB,OAAOA,GAAWA,EAAQC,UAAY,IAAI3iD,cAAgB,IAC5D,CAEA,SAAS4iD,GAAUxM,GACjB,GAAY,MAARA,EACF,OAAOj6C,OAGT,GAAwB,oBAApBi6C,EAAKh1C,WAAkC,CACzC,IAAIyhD,EAAgBzM,EAAKyM,cACzB,OAAOA,GAAgBA,EAAcC,aAAwB3mD,MAC/D,CAEA,OAAOi6C,CACT,CAEA,SAAS2M,GAAU3M,GAEjB,OAAOA,aADUwM,GAAUxM,GAAM4M,SACI5M,aAAgB4M,OACvD,CAEA,SAASC,GAAc7M,GAErB,OAAOA,aADUwM,GAAUxM,GAAMhsB,aACIgsB,aAAgBhsB,WACvD,CAEA,SAAS84B,GAAa9M,GAEpB,MAA0B,oBAAf+M,aAKJ/M,aADUwM,GAAUxM,GAAM+M,YACI/M,aAAgB+M,WACvD,CA4EA,IAAIC,GAAgB,CAClB9kD,KAAM,cACN6rB,SAAS,EACTk5B,MAAO,QACP5qC,GA5EF,SAAqB6qC,GACnB,IAAI5vB,EAAQ4vB,EAAK5vB,MACjBv0B,OAAO4P,KAAK2kB,EAAM6vB,UAAUx9C,SAAQ,SAAUzH,GAC5C,IAAI6qC,EAAQzV,EAAMonB,OAAOx8C,IAAS,CAAC,EAC/BklD,EAAa9vB,EAAM8vB,WAAWllD,IAAS,CAAC,EACxCokD,EAAUhvB,EAAM6vB,SAASjlD,GAExB2kD,GAAcP,IAAaD,GAAYC,KAO5CvjD,OAAOgY,OAAOurC,EAAQvZ,MAAOA,GAC7BhqC,OAAO4P,KAAKy0C,GAAYz9C,SAAQ,SAAUzH,GACxC,IAAI4E,EAAQsgD,EAAWllD,IAET,IAAV4E,EACFw/C,EAAQtE,gBAAgB9/C,GAExBokD,EAAQxM,aAAa53C,GAAgB,IAAV4E,EAAiB,GAAKA,EAErD,IACF,GACF,EAoDE4a,OAlDF,SAAgB2lC,GACd,IAAI/vB,EAAQ+vB,EAAM/vB,MACdgwB,EAAgB,CAClBxB,OAAQ,CACNyB,SAAUjwB,EAAM/G,QAAQi3B,SACxBlG,KAAM,IACNkE,IAAK,IACLxtC,OAAQ,KAEVyvC,MAAO,CACLF,SAAU,YAEZxB,UAAW,CAAC,GASd,OAPAhjD,OAAOgY,OAAOuc,EAAM6vB,SAASrB,OAAO/Y,MAAOua,EAAcxB,QACzDxuB,EAAMonB,OAAS4I,EAEXhwB,EAAM6vB,SAASM,OACjB1kD,OAAOgY,OAAOuc,EAAM6vB,SAASM,MAAM1a,MAAOua,EAAcG,OAGnD,WACL1kD,OAAO4P,KAAK2kB,EAAM6vB,UAAUx9C,SAAQ,SAAUzH,GAC5C,IAAIokD,EAAUhvB,EAAM6vB,SAASjlD,GACzBklD,EAAa9vB,EAAM8vB,WAAWllD,IAAS,CAAC,EAGxC6qC,EAFkBhqC,OAAO4P,KAAK2kB,EAAMonB,OAAOz7C,eAAef,GAAQo1B,EAAMonB,OAAOx8C,GAAQolD,EAAcplD,IAE7Eid,QAAO,SAAU4tB,EAAO2a,GAElD,OADA3a,EAAM2a,GAAY,GACX3a,CACT,GAAG,CAAC,GAEC8Z,GAAcP,IAAaD,GAAYC,KAI5CvjD,OAAOgY,OAAOurC,EAAQvZ,MAAOA,GAC7BhqC,OAAO4P,KAAKy0C,GAAYz9C,SAAQ,SAAU3C,GACxCs/C,EAAQtE,gBAAgBh7C,EAC1B,IACF,GACF,CACF,EASE2gD,SAAU,CAAC,kBAGb,SAASC,GAAiB1B,GACxB,OAAOA,EAAUz9C,MAAM,KAAK,EAC9B,CAEA,IAAIkP,GAAMb,KAAKa,IACXD,GAAMZ,KAAKY,IACXmwC,GAAQ/wC,KAAK+wC,MAEjB,SAASC,GAAsBxB,EAASyB,QACjB,IAAjBA,IACFA,GAAe,GAGjB,IAAIC,EAAO1B,EAAQwB,wBACfG,EAAS,EACTC,EAAS,EAEb,GAAIrB,GAAcP,IAAYyB,EAAc,CAC1C,IAAInK,EAAe0I,EAAQ1I,aACvBuK,EAAc7B,EAAQ6B,YAGtBA,EAAc,IAChBF,EAASJ,GAAMG,EAAK7vC,OAASgwC,GAAe,GAG1CvK,EAAe,IACjBsK,EAASL,GAAMG,EAAKjwC,QAAU6lC,GAAgB,EAElD,CAEA,MAAO,CACLzlC,MAAO6vC,EAAK7vC,MAAQ8vC,EACpBlwC,OAAQiwC,EAAKjwC,OAASmwC,EACtB1C,IAAKwC,EAAKxC,IAAM0C,EAChB1G,MAAOwG,EAAKxG,MAAQyG,EACpBxC,OAAQuC,EAAKvC,OAASyC,EACtB5G,KAAM0G,EAAK1G,KAAO2G,EAClB3hD,EAAG0hD,EAAK1G,KAAO2G,EACfG,EAAGJ,EAAKxC,IAAM0C,EAElB,CAIA,SAASG,GAAc/B,GACrB,IAAIgC,EAAaR,GAAsBxB,GAGnCnuC,EAAQmuC,EAAQ6B,YAChBpwC,EAASuuC,EAAQ1I,aAUrB,OARI9mC,KAAKyxC,IAAID,EAAWnwC,MAAQA,IAAU,IACxCA,EAAQmwC,EAAWnwC,OAGjBrB,KAAKyxC,IAAID,EAAWvwC,OAASA,IAAW,IAC1CA,EAASuwC,EAAWvwC,QAGf,CACLzR,EAAGggD,EAAQkC,WACXJ,EAAG9B,EAAQmC,UACXtwC,MAAOA,EACPJ,OAAQA,EAEZ,CAEA,SAAS2wC,GAAS9oC,EAAQqY,GACxB,IAAI0wB,EAAW1wB,EAAM2wB,aAAe3wB,EAAM2wB,cAE1C,GAAIhpC,EAAO8oC,SAASzwB,GAClB,OAAO,EAEJ,GAAI0wB,GAAY7B,GAAa6B,GAAW,CACzC,IAAIxhC,EAAO8Q,EAEX,EAAG,CACD,GAAI9Q,GAAQvH,EAAOipC,WAAW1hC,GAC5B,OAAO,EAITA,EAAOA,EAAKgjB,YAAchjB,EAAK1X,IACjC,OAAS0X,EACX,CAGF,OAAO,CACT,CAEA,SAASw3B,GAAiB2H,GACxB,OAAOE,GAAUF,GAAS3H,iBAAiB2H,EAC7C,CAEA,SAASwC,GAAexC,GACtB,MAAO,CAAC,QAAS,KAAM,MAAMprC,QAAQmrC,GAAYC,KAAa,CAChE,CAEA,SAASyC,GAAmBzC,GAE1B,QAASK,GAAUL,GAAWA,EAAQG,cACtCH,EAAQzsC,WAAa9Z,OAAO8Z,UAAUmvC,eACxC,CAEA,SAASC,GAAc3C,GACrB,MAA6B,SAAzBD,GAAYC,GACPA,EAMPA,EAAQ4C,cACR5C,EAAQnc,aACR2c,GAAaR,GAAWA,EAAQ72C,KAAO,OAEvCs5C,GAAmBzC,EAGvB,CAEA,SAAS6C,GAAoB7C,GAC3B,OAAKO,GAAcP,IACoB,UAAvC3H,GAAiB2H,GAASiB,SAInBjB,EAAQ8C,aAHN,IAIX,CAoCA,SAASC,GAAgB/C,GAIvB,IAHA,IAAIvmD,EAASymD,GAAUF,GACnB8C,EAAeD,GAAoB7C,GAEhC8C,GAAgBN,GAAeM,IAA6D,WAA5CzK,GAAiByK,GAAc7B,UACpF6B,EAAeD,GAAoBC,GAGrC,OAAIA,IAA+C,SAA9B/C,GAAY+C,IAA0D,SAA9B/C,GAAY+C,IAAwE,WAA5CzK,GAAiByK,GAAc7B,UAC3HxnD,EAGFqpD,GA5CT,SAA4B9C,GAC1B,IAAIgD,GAAsE,IAA1Dr7B,UAAUC,UAAUtqB,cAAcsX,QAAQ,WAG1D,IAFuD,IAA5C+S,UAAUC,UAAUhT,QAAQ,YAE3B2rC,GAAcP,IAII,UAFX3H,GAAiB2H,GAEnBiB,SACb,OAAO,KAMX,IAFA,IAAIgC,EAAcN,GAAc3C,GAEzBO,GAAc0C,IAAgB,CAAC,OAAQ,QAAQruC,QAAQmrC,GAAYkD,IAAgB,GAAG,CAC3F,IAAItN,EAAM0C,GAAiB4K,GAI3B,GAAsB,SAAlBtN,EAAIuN,WAA4C,SAApBvN,EAAIwN,aAA0C,UAAhBxN,EAAIyN,UAAiF,IAA1D,CAAC,YAAa,eAAexuC,QAAQ+gC,EAAI0N,aAAsBL,GAAgC,WAAnBrN,EAAI0N,YAA2BL,GAAarN,EAAI34C,QAAyB,SAAf24C,EAAI34C,OACjO,OAAOimD,EAEPA,EAAcA,EAAYpf,UAE9B,CAEA,OAAO,IACT,CAgByByf,CAAmBtD,IAAYvmD,CACxD,CAEA,SAAS8pD,GAAyB3D,GAChC,MAAO,CAAC,MAAO,UAAUhrC,QAAQgrC,IAAc,EAAI,IAAM,GAC3D,CAEA,SAAS4D,GAAOC,EAAOjjD,EAAOkjD,GAC5B,OAAOryC,GAAIoyC,EAAOryC,GAAI5Q,EAAOkjD,GAC/B,CAeA,SAASC,GAAmBC,GAC1B,OAAOnnD,OAAOgY,OAAO,CAAC,EATf,CACLyqC,IAAK,EACLhE,MAAO,EACPiE,OAAQ,EACRnE,KAAM,GAKuC4I,EACjD,CAEA,SAASC,GAAgBrjD,EAAO6L,GAC9B,OAAOA,EAAKwM,QAAO,SAAUirC,EAAStpD,GAEpC,OADAspD,EAAQtpD,GAAOgG,EACRsjD,CACT,GAAG,CAAC,EACN,CA0EA,IAAIC,GAAU,CACZnoD,KAAM,QACN6rB,SAAS,EACTk5B,MAAO,OACP5qC,GArEF,SAAe6qC,GACb,IAAIoD,EAEAhzB,EAAQ4vB,EAAK5vB,MACbp1B,EAAOglD,EAAKhlD,KACZquB,EAAU22B,EAAK32B,QACfg6B,EAAejzB,EAAM6vB,SAASM,MAC9B+C,EAAgBlzB,EAAMmzB,cAAcD,cACpCE,EAAgB9C,GAAiBtwB,EAAM4uB,WACvCyE,EAAOd,GAAyBa,GAEhC1X,EADa,CAACsO,GAAME,IAAOtmC,QAAQwvC,IAAkB,EAClC,SAAW,QAElC,GAAKH,GAAiBC,EAAtB,CAIA,IAAIN,EAxBgB,SAAyBU,EAAStzB,GAItD,OAAO2yB,GAAsC,iBAH7CW,EAA6B,mBAAZA,EAAyBA,EAAQ7nD,OAAOgY,OAAO,CAAC,EAAGuc,EAAMuzB,MAAO,CAC/E3E,UAAW5uB,EAAM4uB,aACb0E,GACkDA,EAAUT,GAAgBS,EAASjF,IAC7F,CAmBsBmF,CAAgBv6B,EAAQq6B,QAAStzB,GACjDyzB,EAAY1C,GAAckC,GAC1BS,EAAmB,MAATL,EAAenF,GAAMlE,GAC/B2J,EAAmB,MAATN,EAAelF,GAASjE,GAClC0J,EAAU5zB,EAAMuzB,MAAM9E,UAAU/S,GAAO1b,EAAMuzB,MAAM9E,UAAU4E,GAAQH,EAAcG,GAAQrzB,EAAMuzB,MAAM/E,OAAO9S,GAC9GmY,EAAYX,EAAcG,GAAQrzB,EAAMuzB,MAAM9E,UAAU4E,GACxDS,EAAoB/B,GAAgBkB,GACpCc,EAAaD,EAA6B,MAATT,EAAeS,EAAkBE,cAAgB,EAAIF,EAAkBG,aAAe,EAAI,EAC3HC,EAAoBN,EAAU,EAAIC,EAAY,EAG9CzzC,EAAMwyC,EAAcc,GACpBrzC,EAAM0zC,EAAaN,EAAU/X,GAAOkX,EAAce,GAClDQ,EAASJ,EAAa,EAAIN,EAAU/X,GAAO,EAAIwY,EAC/CE,EAAS5B,GAAOpyC,EAAK+zC,EAAQ9zC,GAE7Bg0C,EAAWhB,EACfrzB,EAAMmzB,cAAcvoD,KAASooD,EAAwB,CAAC,GAAyBqB,GAAYD,EAAQpB,EAAsBsB,aAAeF,EAASD,EAAQnB,EAnBzJ,CAoBF,EAmCE5oC,OAjCF,SAAkB2lC,GAChB,IAAI/vB,EAAQ+vB,EAAM/vB,MAEdu0B,EADUxE,EAAM92B,QACW+1B,QAC3BiE,OAAoC,IAArBsB,EAA8B,sBAAwBA,EAErD,MAAhBtB,IAKwB,iBAAjBA,IACTA,EAAejzB,EAAM6vB,SAASrB,OAAO3L,cAAcoQ,MAOhD7B,GAASpxB,EAAM6vB,SAASrB,OAAQyE,KAKrCjzB,EAAM6vB,SAASM,MAAQ8C,EACzB,EASE5C,SAAU,CAAC,iBACXmE,iBAAkB,CAAC,oBAGrB,SAASC,GAAa7F,GACpB,OAAOA,EAAUz9C,MAAM,KAAK,EAC9B,CAEA,IAAIujD,GAAa,CACfxG,IAAK,OACLhE,MAAO,OACPiE,OAAQ,OACRnE,KAAM,QAgBR,SAAS2K,GAAY5E,GACnB,IAAI6E,EAEApG,EAASuB,EAAMvB,OACfqG,EAAa9E,EAAM8E,WACnBjG,EAAYmB,EAAMnB,UAClBkG,EAAY/E,EAAM+E,UAClBC,EAAUhF,EAAMgF,QAChB9E,EAAWF,EAAME,SACjB+E,EAAkBjF,EAAMiF,gBACxBC,EAAWlF,EAAMkF,SACjBC,EAAenF,EAAMmF,aACrBC,EAAUpF,EAAMoF,QAEhBC,GAAyB,IAAjBF,EAzBd,SAA2BtF,GACzB,IAAI5gD,EAAI4gD,EAAK5gD,EACT8hD,EAAIlB,EAAKkB,EAETuE,EADM5sD,OACI6sD,kBAAoB,EAClC,MAAO,CACLtmD,EAAGuhD,GAAMvhD,EAAIqmD,GAAOA,GAAO,EAC3BvE,EAAGP,GAAMO,EAAIuE,GAAOA,GAAO,EAE/B,CAgBsCE,CAAkBR,GAAmC,mBAAjBG,EAA8BA,EAAaH,GAAWA,EAC1HS,EAAUJ,EAAMpmD,EAChBA,OAAgB,IAAZwmD,EAAqB,EAAIA,EAC7BC,EAAUL,EAAMtE,EAChBA,OAAgB,IAAZ2E,EAAqB,EAAIA,EAE7BC,EAAOX,EAAQppD,eAAe,KAC9BgqD,EAAOZ,EAAQppD,eAAe,KAC9BiqD,EAAQ5L,GACR6L,EAAQ3H,GACR4H,EAAMrtD,OAEV,GAAIwsD,EAAU,CACZ,IAAInD,EAAeC,GAAgBvD,GAC/BuH,EAAa,eACbC,EAAY,cAEZlE,IAAiB5C,GAAUV,IAGmB,WAA5CnH,GAFJyK,EAAeL,GAAmBjD,IAECyB,UAAsC,aAAbA,IAC1D8F,EAAa,eACbC,EAAY,gBAOZpH,IAAcV,KAAQU,IAAc5E,IAAQ4E,IAAc1E,KAAU4K,IAAc5/B,MACpF2gC,EAAQ1H,GAGR2C,IAFcqE,GAAWW,EAAIG,eAAiBH,EAAIG,eAAex1C,OACjEqxC,EAAaiE,IACElB,EAAWp0C,OAC1BqwC,GAAKkE,EAAkB,GAAK,GAG1BpG,IAAc5E,KAAS4E,IAAcV,IAAOU,IAAcT,IAAW2G,IAAc5/B,MACrF0gC,EAAQ1L,GAGRl7C,IAFcmmD,GAAWW,EAAIG,eAAiBH,EAAIG,eAAep1C,MACjEixC,EAAakE,IACEnB,EAAWh0C,MAC1B7R,GAAKgmD,EAAkB,GAAK,EAEhC,CAEA,IAKMkB,EALFC,EAAe1qD,OAAOgY,OAAO,CAC/BwsC,SAAUA,GACTgF,GAAYP,IAEf,OAAIM,EAGKvpD,OAAOgY,OAAO,CAAC,EAAG0yC,IAAeD,EAAiB,CAAC,GAAkBL,GAASF,EAAO,IAAM,GAAIO,EAAeN,GAASF,EAAO,IAAM,GAAIQ,EAAehE,WAAa4D,EAAIR,kBAAoB,IAAM,EAAI,aAAetmD,EAAI,OAAS8hD,EAAI,MAAQ,eAAiB9hD,EAAI,OAAS8hD,EAAI,SAAUoF,IAG5RzqD,OAAOgY,OAAO,CAAC,EAAG0yC,IAAevB,EAAkB,CAAC,GAAmBiB,GAASF,EAAO7E,EAAI,KAAO,GAAI8D,EAAgBgB,GAASF,EAAO1mD,EAAI,KAAO,GAAI4lD,EAAgB1C,UAAY,GAAI0C,GAC9L,CA6CA,IAQIwB,GAAU,CACZA,SAAS,GA+CPC,GAAO,CACTrM,KAAM,QACNE,MAAO,OACPiE,OAAQ,MACRD,IAAK,UAEP,SAASoI,GAAqB1H,GAC5B,OAAOA,EAAUz/C,QAAQ,0BAA0B,SAAUonD,GAC3D,OAAOF,GAAKE,EACd,GACF,CAEA,IAAIC,GAAS,CACXvhC,MAAO,MACPC,IAAK,SAEP,SAASuhC,GAA8B7H,GACrC,OAAOA,EAAUz/C,QAAQ,cAAc,SAAUonD,GAC/C,OAAOC,GAAOD,EAChB,GACF,CAEA,SAASG,GAAgBhU,GACvB,IAAIoT,EAAM5G,GAAUxM,GAGpB,MAAO,CACLiU,WAHeb,EAAIc,YAInBC,UAHcf,EAAIgB,YAKtB,CAEA,SAASC,GAAoB/H,GAQ3B,OAAOwB,GAAsBiB,GAAmBzC,IAAUhF,KAAO0M,GAAgB1H,GAAS2H,UAC5F,CAiEA,SAASK,GAAehI,GAEtB,IAAIiI,EAAoB5P,GAAiB2H,GACrCkI,EAAWD,EAAkBC,SAC7BC,EAAYF,EAAkBE,UAC9BC,EAAYH,EAAkBG,UAElC,MAAO,6BAA6B9zC,KAAK4zC,EAAWE,EAAYD,EAClE,CAEA,SAASE,GAAgB3U,GACvB,MAAI,CAAC,OAAQ,OAAQ,aAAa9+B,QAAQmrC,GAAYrM,KAAU,EAEvDA,EAAKyM,cAAc9I,KAGxBkJ,GAAc7M,IAASsU,GAAetU,GACjCA,EAGF2U,GAAgB1F,GAAcjP,GACvC,CASA,SAAS4U,GAAkBtI,EAASlsC,GAClC,IAAIy0C,OAES,IAATz0C,IACFA,EAAO,IAGT,IAAI00C,EAAeH,GAAgBrI,GAC/ByI,EAASD,KAAqE,OAAlDD,EAAwBvI,EAAQG,oBAAyB,EAASoI,EAAsBlR,MACpHyP,EAAM5G,GAAUsI,GAChBluD,EAASmuD,EAAS,CAAC3B,GAAKv6B,OAAOu6B,EAAIG,gBAAkB,GAAIe,GAAeQ,GAAgBA,EAAe,IAAMA,EAC7GE,EAAc50C,EAAKyY,OAAOjyB,GAC9B,OAAOmuD,EAASC,EAChBA,EAAYn8B,OAAO+7B,GAAkB3F,GAAcroD,IACrD,CAEA,SAASquD,GAAiBjH,GACxB,OAAOjlD,OAAOgY,OAAO,CAAC,EAAGitC,EAAM,CAC7B1G,KAAM0G,EAAK1hD,EACXk/C,IAAKwC,EAAKI,EACV5G,MAAOwG,EAAK1hD,EAAI0hD,EAAK7vC,MACrBstC,OAAQuC,EAAKI,EAAIJ,EAAKjwC,QAE1B,CAeA,SAASm3C,GAA2B5I,EAAS6I,GAC3C,OAAOA,IAAmBtJ,GAAWoJ,GApIvC,SAAyB3I,GACvB,IAAI8G,EAAM5G,GAAUF,GAChB8I,EAAOrG,GAAmBzC,GAC1BiH,EAAiBH,EAAIG,eACrBp1C,EAAQi3C,EAAK7D,YACbxzC,EAASq3C,EAAK9D,aACdhlD,EAAI,EACJ8hD,EAAI,EAuBR,OAjBImF,IACFp1C,EAAQo1C,EAAep1C,MACvBJ,EAASw1C,EAAex1C,OASnB,iCAAiC6C,KAAKqT,UAAUC,aACnD5nB,EAAIinD,EAAe/E,WACnBJ,EAAImF,EAAe9E,YAIhB,CACLtwC,MAAOA,EACPJ,OAAQA,EACRzR,EAAGA,EAAI+nD,GAAoB/H,GAC3B8B,EAAGA,EAEP,CAgGwDiH,CAAgB/I,IAAYK,GAAUwI,GAd9F,SAAoC7I,GAClC,IAAI0B,EAAOF,GAAsBxB,GASjC,OARA0B,EAAKxC,IAAMwC,EAAKxC,IAAMc,EAAQgJ,UAC9BtH,EAAK1G,KAAO0G,EAAK1G,KAAOgF,EAAQiJ,WAChCvH,EAAKvC,OAASuC,EAAKxC,IAAMc,EAAQgF,aACjCtD,EAAKxG,MAAQwG,EAAK1G,KAAOgF,EAAQiF,YACjCvD,EAAK7vC,MAAQmuC,EAAQiF,YACrBvD,EAAKjwC,OAASuuC,EAAQgF,aACtBtD,EAAK1hD,EAAI0hD,EAAK1G,KACd0G,EAAKI,EAAIJ,EAAKxC,IACPwC,CACT,CAGgHwH,CAA2BL,GAAkBF,GA5F7J,SAAyB3I,GACvB,IAAIuI,EAEAO,EAAOrG,GAAmBzC,GAC1BmJ,EAAYzB,GAAgB1H,GAC5B3I,EAA0D,OAAlDkR,EAAwBvI,EAAQG,oBAAyB,EAASoI,EAAsBlR,KAChGxlC,EAAQR,GAAIy3C,EAAKM,YAAaN,EAAK7D,YAAa5N,EAAOA,EAAK+R,YAAc,EAAG/R,EAAOA,EAAK4N,YAAc,GACvGxzC,EAASJ,GAAIy3C,EAAKO,aAAcP,EAAK9D,aAAc3N,EAAOA,EAAKgS,aAAe,EAAGhS,EAAOA,EAAK2N,aAAe,GAC5GhlD,GAAKmpD,EAAUxB,WAAaI,GAAoB/H,GAChD8B,GAAKqH,EAAUtB,UAMnB,MAJiD,QAA7CxP,GAAiBhB,GAAQyR,GAAMQ,YACjCtpD,GAAKqR,GAAIy3C,EAAK7D,YAAa5N,EAAOA,EAAK4N,YAAc,GAAKpzC,GAGrD,CACLA,MAAOA,EACPJ,OAAQA,EACRzR,EAAGA,EACH8hD,EAAGA,EAEP,CAuE8KyH,CAAgB9G,GAAmBzC,IACjN,CAyCA,SAASwJ,GAAe5I,GACtB,IAOImF,EAPAtG,EAAYmB,EAAKnB,UACjBO,EAAUY,EAAKZ,QACfJ,EAAYgB,EAAKhB,UACjBwE,EAAgBxE,EAAY0B,GAAiB1B,GAAa,KAC1DkG,EAAYlG,EAAY6F,GAAa7F,GAAa,KAClD6J,EAAUhK,EAAUz/C,EAAIy/C,EAAU5tC,MAAQ,EAAImuC,EAAQnuC,MAAQ,EAC9D63C,EAAUjK,EAAUqC,EAAIrC,EAAUhuC,OAAS,EAAIuuC,EAAQvuC,OAAS,EAGpE,OAAQ2yC,GACN,KAAKlF,GACH6G,EAAU,CACR/lD,EAAGypD,EACH3H,EAAGrC,EAAUqC,EAAI9B,EAAQvuC,QAE3B,MAEF,KAAK0tC,GACH4G,EAAU,CACR/lD,EAAGypD,EACH3H,EAAGrC,EAAUqC,EAAIrC,EAAUhuC,QAE7B,MAEF,KAAKypC,GACH6K,EAAU,CACR/lD,EAAGy/C,EAAUz/C,EAAIy/C,EAAU5tC,MAC3BiwC,EAAG4H,GAEL,MAEF,KAAK1O,GACH+K,EAAU,CACR/lD,EAAGy/C,EAAUz/C,EAAIggD,EAAQnuC,MACzBiwC,EAAG4H,GAEL,MAEF,QACE3D,EAAU,CACR/lD,EAAGy/C,EAAUz/C,EACb8hD,EAAGrC,EAAUqC,GAInB,IAAI6H,EAAWvF,EAAgBb,GAAyBa,GAAiB,KAEzE,GAAgB,MAAZuF,EAAkB,CACpB,IAAIjd,EAAmB,MAAbid,EAAmB,SAAW,QAExC,OAAQ7D,GACN,KAAK7/B,GACH8/B,EAAQ4D,GAAY5D,EAAQ4D,IAAalK,EAAU/S,GAAO,EAAIsT,EAAQtT,GAAO,GAC7E,MAEF,KAAKxmB,GACH6/B,EAAQ4D,GAAY5D,EAAQ4D,IAAalK,EAAU/S,GAAO,EAAIsT,EAAQtT,GAAO,GAGnF,CAEA,OAAOqZ,CACT,CAEA,SAAS6D,GAAe54B,EAAO/G,QACb,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI4/B,EAAW5/B,EACX6/B,EAAqBD,EAASjK,UAC9BA,OAAmC,IAAvBkK,EAAgC94B,EAAM4uB,UAAYkK,EAC9DC,EAAoBF,EAASG,SAC7BA,OAAiC,IAAtBD,EAA+BzK,GAAkByK,EAC5DE,EAAwBJ,EAASK,aACjCA,OAAyC,IAA1BD,EAAmC1K,GAAW0K,EAC7DE,EAAwBN,EAASO,eACjCA,OAA2C,IAA1BD,EAAmC3K,GAAS2K,EAC7DE,EAAuBR,EAASS,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmBV,EAASvF,QAC5BA,OAA+B,IAArBiG,EAA8B,EAAIA,EAC5C3G,EAAgBD,GAAsC,iBAAZW,EAAuBA,EAAUT,GAAgBS,EAASjF,KACpGmL,EAAaJ,IAAmB5K,GAASC,GAAYD,GACrDqG,EAAa70B,EAAMuzB,MAAM/E,OACzBQ,EAAUhvB,EAAM6vB,SAASyJ,EAAcE,EAAaJ,GACpDK,EA1GN,SAAyBzK,EAASgK,EAAUE,GAC1C,IAAIQ,EAAmC,oBAAbV,EAlB5B,SAA4BhK,GAC1B,IAAIV,EAAkBgJ,GAAkB3F,GAAc3C,IAClD2K,EAAoB,CAAC,WAAY,SAAS/1C,QAAQyjC,GAAiB2H,GAASiB,WAAa,EACzF2J,EAAiBD,GAAqBpK,GAAcP,GAAW+C,GAAgB/C,GAAWA,EAE9F,OAAKK,GAAUuK,GAKRtL,EAAgBtiD,QAAO,SAAU6rD,GACtC,OAAOxI,GAAUwI,IAAmBzG,GAASyG,EAAgB+B,IAAmD,SAAhC7K,GAAY8I,MAA+B8B,GAAkE,WAA9CtS,GAAiBwQ,GAAgB5H,SAClL,IANS,EAOX,CAK6D4J,CAAmB7K,GAAW,GAAGzzB,OAAOy9B,GAC/F1K,EAAkB,GAAG/yB,OAAOm+B,EAAqB,CAACR,IAClDY,EAAsBxL,EAAgB,GACtCyL,EAAezL,EAAgBzmC,QAAO,SAAUmyC,EAASnC,GAC3D,IAAInH,EAAOkH,GAA2B5I,EAAS6I,GAK/C,OAJAmC,EAAQ9L,IAAM7tC,GAAIqwC,EAAKxC,IAAK8L,EAAQ9L,KACpC8L,EAAQ9P,MAAQ9pC,GAAIswC,EAAKxG,MAAO8P,EAAQ9P,OACxC8P,EAAQ7L,OAAS/tC,GAAIswC,EAAKvC,OAAQ6L,EAAQ7L,QAC1C6L,EAAQhQ,KAAO3pC,GAAIqwC,EAAK1G,KAAMgQ,EAAQhQ,MAC/BgQ,CACT,GAAGpC,GAA2B5I,EAAS8K,IAKvC,OAJAC,EAAal5C,MAAQk5C,EAAa7P,MAAQ6P,EAAa/P,KACvD+P,EAAat5C,OAASs5C,EAAa5L,OAAS4L,EAAa7L,IACzD6L,EAAa/qD,EAAI+qD,EAAa/P,KAC9B+P,EAAajJ,EAAIiJ,EAAa7L,IACvB6L,CACT,CAyF2BE,CAAgB5K,GAAUL,GAAWA,EAAUA,EAAQkL,gBAAkBzI,GAAmBzxB,EAAM6vB,SAASrB,QAASwK,EAAUE,GACnJiB,EAAsB3J,GAAsBxwB,EAAM6vB,SAASpB,WAC3DyE,EAAgBsF,GAAe,CACjC/J,UAAW0L,EACXnL,QAAS6F,EACT3E,SAAU,WACVtB,UAAWA,IAETwL,EAAmBzC,GAAiBlsD,OAAOgY,OAAO,CAAC,EAAGoxC,EAAY3B,IAClEmH,EAAoBjB,IAAmB5K,GAAS4L,EAAmBD,EAGnEG,EAAkB,CACpBpM,IAAKuL,EAAmBvL,IAAMmM,EAAkBnM,IAAM0E,EAAc1E,IACpEC,OAAQkM,EAAkBlM,OAASsL,EAAmBtL,OAASyE,EAAczE,OAC7EnE,KAAMyP,EAAmBzP,KAAOqQ,EAAkBrQ,KAAO4I,EAAc5I,KACvEE,MAAOmQ,EAAkBnQ,MAAQuP,EAAmBvP,MAAQ0I,EAAc1I,OAExEqQ,EAAav6B,EAAMmzB,cAAciB,OAErC,GAAIgF,IAAmB5K,IAAU+L,EAAY,CAC3C,IAAInG,EAASmG,EAAW3L,GACxBnjD,OAAO4P,KAAKi/C,GAAiBjoD,SAAQ,SAAU7I,GAC7C,IAAIgxD,EAAW,CAACtQ,GAAOiE,IAAQvqC,QAAQpa,IAAQ,EAAI,GAAK,EACpD6pD,EAAO,CAACnF,GAAKC,IAAQvqC,QAAQpa,IAAQ,EAAI,IAAM,IACnD8wD,EAAgB9wD,IAAQ4qD,EAAOf,GAAQmH,CACzC,GACF,CAEA,OAAOF,CACT,CAEA,SAASG,GAAqBz6B,EAAO/G,QACnB,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI4/B,EAAW5/B,EACX21B,EAAYiK,EAASjK,UACrBoK,EAAWH,EAASG,SACpBE,EAAeL,EAASK,aACxB5F,EAAUuF,EAASvF,QACnBoH,EAAiB7B,EAAS6B,eAC1BC,EAAwB9B,EAAS+B,sBACjCA,OAAkD,IAA1BD,EAAmC9L,GAAa8L,EACxE7F,EAAYL,GAAa7F,GACzBiM,EAAe/F,EAAY4F,EAAiBhM,GAAsBA,GAAoB1iD,QAAO,SAAU4iD,GACzG,OAAO6F,GAAa7F,KAAekG,CACrC,IAAKzG,GACDyM,EAAoBD,EAAa7uD,QAAO,SAAU4iD,GACpD,OAAOgM,EAAsBh3C,QAAQgrC,IAAc,CACrD,IAEiC,IAA7BkM,EAAkBnuD,SACpBmuD,EAAoBD,GAItB,IAAIE,EAAYD,EAAkBjzC,QAAO,SAAU8mC,EAAKC,GAOtD,OANAD,EAAIC,GAAagK,GAAe54B,EAAO,CACrC4uB,UAAWA,EACXoK,SAAUA,EACVE,aAAcA,EACd5F,QAASA,IACRhD,GAAiB1B,IACbD,CACT,GAAG,CAAC,GACJ,OAAOljD,OAAO4P,KAAK0/C,GAAWt9C,MAAK,SAAUC,EAAGC,GAC9C,OAAOo9C,EAAUr9C,GAAKq9C,EAAUp9C,EAClC,GACF,CAmIA,IAAIq9C,GAAS,CACXpwD,KAAM,OACN6rB,SAAS,EACTk5B,MAAO,OACP5qC,GA5HF,SAAc6qC,GACZ,IAAI5vB,EAAQ4vB,EAAK5vB,MACb/G,EAAU22B,EAAK32B,QACfruB,EAAOglD,EAAKhlD,KAEhB,IAAIo1B,EAAMmzB,cAAcvoD,GAAMqwD,MAA9B,CAoCA,IAhCA,IAAIC,EAAoBjiC,EAAQ0/B,SAC5BwC,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBniC,EAAQoiC,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8BtiC,EAAQuiC,mBACtClI,EAAUr6B,EAAQq6B,QAClB0F,EAAW//B,EAAQ+/B,SACnBE,EAAejgC,EAAQigC,aACvBI,EAAcrgC,EAAQqgC,YACtBmC,EAAwBxiC,EAAQyhC,eAChCA,OAA2C,IAA1Be,GAA0CA,EAC3Db,EAAwB3hC,EAAQ2hC,sBAChCc,EAAqB17B,EAAM/G,QAAQ21B,UACnCwE,EAAgB9C,GAAiBoL,GAEjCF,EAAqBD,IADHnI,IAAkBsI,GACqChB,EAjC/E,SAAuC9L,GACrC,GAAI0B,GAAiB1B,KAAeR,GAClC,MAAO,GAGT,IAAIuN,EAAoBrF,GAAqB1H,GAC7C,MAAO,CAAC6H,GAA8B7H,GAAY+M,EAAmBlF,GAA8BkF,GACrG,CA0B6IC,CAA8BF,GAA3E,CAACpF,GAAqBoF,KAChH7M,EAAa,CAAC6M,GAAoBngC,OAAOigC,GAAoB3zC,QAAO,SAAU8mC,EAAKC,GACrF,OAAOD,EAAIpzB,OAAO+0B,GAAiB1B,KAAeR,GAAOqM,GAAqBz6B,EAAO,CACnF4uB,UAAWA,EACXoK,SAAUA,EACVE,aAAcA,EACd5F,QAASA,EACToH,eAAgBA,EAChBE,sBAAuBA,IACpBhM,EACP,GAAG,IACCiN,EAAgB77B,EAAMuzB,MAAM9E,UAC5BoG,EAAa70B,EAAMuzB,MAAM/E,OACzBsN,EAAY,IAAIzoD,IAChB0oD,GAAqB,EACrBC,EAAwBnN,EAAW,GAE9B9rC,EAAI,EAAGA,EAAI8rC,EAAWliD,OAAQoW,IAAK,CAC1C,IAAI6rC,EAAYC,EAAW9rC,GAEvBk5C,EAAiB3L,GAAiB1B,GAElCsN,EAAmBzH,GAAa7F,KAAe35B,GAC/CknC,EAAa,CAACjO,GAAKC,IAAQvqC,QAAQq4C,IAAmB,EACtDvgB,EAAMygB,EAAa,QAAU,SAC7BjF,EAAW0B,GAAe54B,EAAO,CACnC4uB,UAAWA,EACXoK,SAAUA,EACVE,aAAcA,EACdI,YAAaA,EACbhG,QAASA,IAEP8I,EAAoBD,EAAaD,EAAmBhS,GAAQF,GAAOkS,EAAmB/N,GAASD,GAE/F2N,EAAcngB,GAAOmZ,EAAWnZ,KAClC0gB,EAAoB9F,GAAqB8F,IAG3C,IAAIC,EAAmB/F,GAAqB8F,GACxCE,EAAS,GAUb,GARInB,GACFmB,EAAO1rD,KAAKsmD,EAAS+E,IAAmB,GAGtCX,GACFgB,EAAO1rD,KAAKsmD,EAASkF,IAAsB,EAAGlF,EAASmF,IAAqB,GAG1EC,EAAOvtD,OAAM,SAAUwtD,GACzB,OAAOA,CACT,IAAI,CACFP,EAAwBpN,EACxBmN,GAAqB,EACrB,KACF,CAEAD,EAAUxoD,IAAIs7C,EAAW0N,EAC3B,CAEA,GAAIP,EAqBF,IAnBA,IAEIS,EAAQ,SAAeC,GACzB,IAAIC,EAAmB7N,EAAWhiD,MAAK,SAAU+hD,GAC/C,IAAI0N,EAASR,EAAUj8C,IAAI+uC,GAE3B,GAAI0N,EACF,OAAOA,EAAO/mD,MAAM,EAAGknD,GAAI1tD,OAAM,SAAUwtD,GACzC,OAAOA,CACT,GAEJ,IAEA,GAAIG,EAEF,OADAV,EAAwBU,EACjB,OAEX,EAESD,EAnBY/B,EAAiB,EAAI,EAmBZ+B,EAAK,GAGpB,UAFFD,EAAMC,GADmBA,KAOpCz8B,EAAM4uB,YAAcoN,IACtBh8B,EAAMmzB,cAAcvoD,GAAMqwD,OAAQ,EAClCj7B,EAAM4uB,UAAYoN,EAClBh8B,EAAM28B,OAAQ,EA5GhB,CA8GF,EAQEnI,iBAAkB,CAAC,UACnBzqD,KAAM,CACJkxD,OAAO,IAIX,SAAS2B,GAAe1F,EAAUxG,EAAMmM,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjB7tD,EAAG,EACH8hD,EAAG,IAIA,CACL5C,IAAKgJ,EAAShJ,IAAMwC,EAAKjwC,OAASo8C,EAAiB/L,EACnD5G,MAAOgN,EAAShN,MAAQwG,EAAK7vC,MAAQg8C,EAAiB7tD,EACtDm/C,OAAQ+I,EAAS/I,OAASuC,EAAKjwC,OAASo8C,EAAiB/L,EACzD9G,KAAMkN,EAASlN,KAAO0G,EAAK7vC,MAAQg8C,EAAiB7tD,EAExD,CAEA,SAAS8tD,GAAsB5F,GAC7B,MAAO,CAAChJ,GAAKhE,GAAOiE,GAAQnE,IAAM7uB,MAAK,SAAU4hC,GAC/C,OAAO7F,EAAS6F,IAAS,CAC3B,GACF,CAkRA,SAASC,GAAiBC,EAAyBnL,EAAcqD,QAC/C,IAAZA,IACFA,GAAU,GAGZ,IAtBqBzS,EAPOsM,EA6BxBkO,EAA0B3N,GAAcuC,GACxCqL,EAAuB5N,GAAcuC,IAf3C,SAAyB9C,GACvB,IAAI0B,EAAO1B,EAAQwB,wBACfG,EAASJ,GAAMG,EAAK7vC,OAASmuC,EAAQ6B,aAAe,EACpDD,EAASL,GAAMG,EAAKjwC,QAAUuuC,EAAQ1I,cAAgB,EAC1D,OAAkB,IAAXqK,GAA2B,IAAXC,CACzB,CAU4DwM,CAAgBtL,GACtEJ,EAAkBD,GAAmBK,GACrCpB,EAAOF,GAAsByM,EAAyBE,GACtDE,EAAS,CACX1G,WAAY,EACZE,UAAW,GAET9B,EAAU,CACZ/lD,EAAG,EACH8hD,EAAG,GAkBL,OAfIoM,IAA4BA,IAA4B/H,MACxB,SAA9BpG,GAAY+C,IAChBkF,GAAetF,MACb2L,GAtCiB3a,EAsCMoP,KArCd5C,GAAUxM,IAAU6M,GAAc7M,GAPxC,CACLiU,YAF0B3H,EAWEtM,GATRiU,WACpBE,UAAW7H,EAAQ6H,WAMZH,GAAgBhU,IAuCnB6M,GAAcuC,KAChBiD,EAAUvE,GAAsBsB,GAAc,IACtC9iD,GAAK8iD,EAAamG,WAC1BlD,EAAQjE,GAAKgB,EAAakG,WACjBtG,IACTqD,EAAQ/lD,EAAI+nD,GAAoBrF,KAI7B,CACL1iD,EAAG0hD,EAAK1G,KAAOqT,EAAO1G,WAAa5B,EAAQ/lD,EAC3C8hD,EAAGJ,EAAKxC,IAAMmP,EAAOxG,UAAY9B,EAAQjE,EACzCjwC,MAAO6vC,EAAK7vC,MACZJ,OAAQiwC,EAAKjwC,OAEjB,CAEA,SAAS68C,GAAMj/B,GACb,IAAIlyB,EAAM,IAAIkH,IACVkqD,EAAU,IAAI7uD,IACd/D,EAAS,GAKb,SAAS8S,EAAK+/C,GACZD,EAAQ9xC,IAAI+xC,EAAS5yD,MACN,GAAG2wB,OAAOiiC,EAASnN,UAAY,GAAImN,EAAShJ,kBAAoB,IACtEniD,SAAQ,SAAU8W,GACzB,IAAKo0C,EAAQ/xC,IAAIrC,GAAM,CACrB,IAAIs0C,EAActxD,EAAI0T,IAAIsJ,GAEtBs0C,GACFhgD,EAAKggD,EAET,CACF,IACA9yD,EAAOiG,KAAK4sD,EACd,CAQA,OAzBAn/B,EAAUhsB,SAAQ,SAAUmrD,GAC1BrxD,EAAImH,IAAIkqD,EAAS5yD,KAAM4yD,EACzB,IAiBAn/B,EAAUhsB,SAAQ,SAAUmrD,GACrBD,EAAQ/xC,IAAIgyC,EAAS5yD,OAExB6S,EAAK+/C,EAET,IACO7yD,CACT,CA4CA,IAAI+yD,GAAkB,CACpB9O,UAAW,SACXvwB,UAAW,GACX6xB,SAAU,YAGZ,SAASyN,KACP,IAAK,IAAIC,EAAO1vB,UAAUvhC,OAAQkgB,EAAO,IAAI3iB,MAAM0zD,GAAOl2C,EAAO,EAAGA,EAAOk2C,EAAMl2C,IAC/EmF,EAAKnF,GAAQwmB,UAAUxmB,GAGzB,OAAQmF,EAAKsO,MAAK,SAAU6zB,GAC1B,QAASA,GAAoD,mBAAlCA,EAAQwB,sBACrC,GACF,CAEA,SAASqN,GAAgBC,QACE,IAArBA,IACFA,EAAmB,CAAC,GAGtB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBI,eAC3CA,OAA4C,IAA3BD,EAAoCR,GAAkBQ,EAC3E,OAAO,SAAsBzP,EAAWD,EAAQv1B,QAC9B,IAAZA,IACFA,EAAUklC,GAGZ,IA9Dcp5C,EACZq5C,EA6DEp+B,EAAQ,CACV4uB,UAAW,SACXyP,iBAAkB,GAClBplC,QAASxtB,OAAOgY,OAAO,CAAC,EAAGi6C,GAAiBS,GAC5ChL,cAAe,CAAC,EAChBtD,SAAU,CACRpB,UAAWA,EACXD,OAAQA,GAEVsB,WAAY,CAAC,EACb1I,OAAQ,CAAC,GAEPkX,EAAmB,GACnBC,GAAc,EACdtrC,EAAW,CACb+M,MAAOA,EACPw+B,WAAY,SAAoBC,GAC9B,IAAIxlC,EAAsC,mBAArBwlC,EAAkCA,EAAiBz+B,EAAM/G,SAAWwlC,EACzFC,IACA1+B,EAAM/G,QAAUxtB,OAAOgY,OAAO,CAAC,EAAG06C,EAAgBn+B,EAAM/G,QAASA,GACjE+G,EAAM2+B,cAAgB,CACpBlQ,UAAWY,GAAUZ,GAAa6I,GAAkB7I,GAAaA,EAAUyL,eAAiB5C,GAAkB7I,EAAUyL,gBAAkB,GAC1I1L,OAAQ8I,GAAkB9I,IAI5B,IAxEanwB,EACfiN,EAuEM+yB,EAnGZ,SAAwBhgC,GAEtB,IAAIggC,EAAmBf,GAAMj/B,GAE7B,OAAOywB,GAAejnC,QAAO,SAAU8mC,EAAKgB,GAC1C,OAAOhB,EAAIpzB,OAAO8iC,EAAiBryD,QAAO,SAAUwxD,GAClD,OAAOA,EAAS7N,QAAUA,CAC5B,IACF,GAAG,GACL,CA0F+BiP,EAxEVvgC,EAwEqC,GAAG9C,OAAO0iC,EAAkBj+B,EAAM/G,QAAQoF,WAvE9FiN,EAASjN,EAAUxW,QAAO,SAAUyjB,EAAQjH,GAC9C,IAAIkN,EAAWjG,EAAOjH,EAAQz5B,MAK9B,OAJA0gC,EAAOjH,EAAQz5B,MAAQ2mC,EAAW9lC,OAAOgY,OAAO,CAAC,EAAG8tB,EAAUlN,EAAS,CACrEpL,QAASxtB,OAAOgY,OAAO,CAAC,EAAG8tB,EAAStY,QAASoL,EAAQpL,SACrDlvB,KAAM0B,OAAOgY,OAAO,CAAC,EAAG8tB,EAASxnC,KAAMs6B,EAAQt6B,QAC5Cs6B,EACEiH,CACT,GAAG,CAAC,GAEG7/B,OAAO4P,KAAKiwB,GAAQn/B,KAAI,SAAU3C,GACvC,OAAO8hC,EAAO9hC,EAChB,MAmEM,OALAw2B,EAAMq+B,iBAAmBA,EAAiBryD,QAAO,SAAU89B,GACzD,OAAOA,EAAErT,OACX,IAmGFuJ,EAAMq+B,iBAAiBhsD,SAAQ,SAAU+iD,GACvC,IAAIxqD,EAAOwqD,EAAMxqD,KACbi0D,EAAgBzJ,EAAMn8B,QACtBA,OAA4B,IAAlB4lC,EAA2B,CAAC,EAAIA,EAC1Cz0C,EAASgrC,EAAMhrC,OAEnB,GAAsB,mBAAXA,EAAuB,CAChC,IAAI00C,EAAY10C,EAAO,CACrB4V,MAAOA,EACPp1B,KAAMA,EACNqoB,SAAUA,EACVgG,QAASA,IAKXqlC,EAAiB1tD,KAAKkuD,GAFT,WAAmB,EAGlC,CACF,IAlHS7rC,EAAS2O,QAClB,EAMAm9B,YAAa,WACX,IAAIR,EAAJ,CAIA,IAAIS,EAAkBh/B,EAAM6vB,SACxBpB,EAAYuQ,EAAgBvQ,UAC5BD,EAASwQ,EAAgBxQ,OAG7B,GAAKmP,GAAiBlP,EAAWD,GAAjC,CAMAxuB,EAAMuzB,MAAQ,CACZ9E,UAAWuO,GAAiBvO,EAAWsD,GAAgBvD,GAAoC,UAA3BxuB,EAAM/G,QAAQi3B,UAC9E1B,OAAQuC,GAAcvC,IAOxBxuB,EAAM28B,OAAQ,EACd38B,EAAM4uB,UAAY5uB,EAAM/G,QAAQ21B,UAKhC5uB,EAAMq+B,iBAAiBhsD,SAAQ,SAAUmrD,GACvC,OAAOx9B,EAAMmzB,cAAcqK,EAAS5yD,MAAQa,OAAOgY,OAAO,CAAC,EAAG+5C,EAASzzD,KACzE,IAEA,IAAK,IAAIwe,EAAQ,EAAGA,EAAQyX,EAAMq+B,iBAAiB1xD,OAAQ4b,IAEzD,IAAoB,IAAhByX,EAAM28B,MAAV,CAMA,IAAIsC,EAAwBj/B,EAAMq+B,iBAAiB91C,GAC/CxD,EAAKk6C,EAAsBl6C,GAC3Bm6C,EAAyBD,EAAsBhmC,QAC/C4/B,OAAsC,IAA3BqG,EAAoC,CAAC,EAAIA,EACpDt0D,EAAOq0D,EAAsBr0D,KAEf,mBAAPma,IACTib,EAAQjb,EAAG,CACTib,MAAOA,EACP/G,QAAS4/B,EACTjuD,KAAMA,EACNqoB,SAAUA,KACN+M,EAdR,MAHEA,EAAM28B,OAAQ,EACdp0C,GAAS,CA1Bb,CAVA,CAuDF,EAGAqZ,QAnKY7c,EAmKK,WACf,OAAO,IAAI5S,SAAQ,SAAUwiB,GAC3B1B,EAAS8rC,cACTpqC,EAAQqL,EACV,GACF,EAtKG,WAUL,OATKo+B,IACHA,EAAU,IAAIjsD,SAAQ,SAAUwiB,GAC9BxiB,QAAQwiB,UAAUpQ,MAAK,WACrB65C,OAAUtwD,EACV6mB,EAAQ5P,IACV,GACF,KAGKq5C,CACT,GA4JIe,QAAS,WACPT,IACAH,GAAc,CAChB,GAGF,IAAKZ,GAAiBlP,EAAWD,GAE/B,OAAOv7B,EAmCT,SAASyrC,IACPJ,EAAiBjsD,SAAQ,SAAU0S,GACjC,OAAOA,GACT,IACAu5C,EAAmB,EACrB,CAEA,OAvCArrC,EAASurC,WAAWvlC,GAAS1U,MAAK,SAAUyb,IACrCu+B,GAAetlC,EAAQmmC,eAC1BnmC,EAAQmmC,cAAcp/B,EAE1B,IAmCO/M,CACT,CACF,CAEA,IACIosC,GAA4BxB,GAAgB,CAC9CI,iBAFqB,CAtmCF,CACnBrzD,KAAM,iBACN6rB,SAAS,EACTk5B,MAAO,QACP5qC,GAAI,WAAe,EACnBqF,OAxCF,SAAkBwlC,GAChB,IAAI5vB,EAAQ4vB,EAAK5vB,MACb/M,EAAW28B,EAAK38B,SAChBgG,EAAU22B,EAAK32B,QACfqmC,EAAkBrmC,EAAQokC,OAC1BA,OAA6B,IAApBiC,GAAoCA,EAC7CC,EAAkBtmC,EAAQumC,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7C92D,EAASymD,GAAUlvB,EAAM6vB,SAASrB,QAClCmQ,EAAgB,GAAGpjC,OAAOyE,EAAM2+B,cAAclQ,UAAWzuB,EAAM2+B,cAAcnQ,QAYjF,OAVI6O,GACFsB,EAActsD,SAAQ,SAAUmlD,GAC9BA,EAAaxT,iBAAiB,SAAU/wB,EAAS2O,OAAQw0B,GAC3D,IAGEoJ,GACF/2D,EAAOu7C,iBAAiB,SAAU/wB,EAAS2O,OAAQw0B,IAG9C,WACDiH,GACFsB,EAActsD,SAAQ,SAAUmlD,GAC9BA,EAAatP,oBAAoB,SAAUj1B,EAAS2O,OAAQw0B,GAC9D,IAGEoJ,GACF/2D,EAAOy/C,oBAAoB,SAAUj1B,EAAS2O,OAAQw0B,GAE1D,CACF,EASErsD,KAAM,CAAC,GAsoBa,CACpBa,KAAM,gBACN6rB,SAAS,EACTk5B,MAAO,OACP5qC,GApBF,SAAuB6qC,GACrB,IAAI5vB,EAAQ4vB,EAAK5vB,MACbp1B,EAAOglD,EAAKhlD,KAKhBo1B,EAAMmzB,cAAcvoD,GAAQ4tD,GAAe,CACzC/J,UAAWzuB,EAAMuzB,MAAM9E,UACvBO,QAAShvB,EAAMuzB,MAAM/E,OACrB0B,SAAU,WACVtB,UAAW5uB,EAAM4uB,WAErB,EAQE7kD,KAAM,CAAC,GAhsBa,CACpBa,KAAM,gBACN6rB,SAAS,EACTk5B,MAAO,cACP5qC,GA/CF,SAAuB06C,GACrB,IAAIz/B,EAAQy/B,EAAMz/B,MACd/G,EAAUwmC,EAAMxmC,QAChBymC,EAAwBzmC,EAAQ+7B,gBAChCA,OAA4C,IAA1B0K,GAA0CA,EAC5DC,EAAoB1mC,EAAQg8B,SAC5BA,OAAiC,IAAtB0K,GAAsCA,EACjDC,EAAwB3mC,EAAQi8B,aAChCA,OAAyC,IAA1B0K,GAA0CA,EAEzDzJ,EAAe,CACjBvH,UAAW0B,GAAiBtwB,EAAM4uB,WAClCkG,UAAWL,GAAaz0B,EAAM4uB,WAC9BJ,OAAQxuB,EAAM6vB,SAASrB,OACvBqG,WAAY70B,EAAMuzB,MAAM/E,OACxBwG,gBAAiBA,EACjBG,QAAoC,UAA3Bn1B,EAAM/G,QAAQi3B,UAGgB,MAArClwB,EAAMmzB,cAAcD,gBACtBlzB,EAAMonB,OAAOoH,OAAS/iD,OAAOgY,OAAO,CAAC,EAAGuc,EAAMonB,OAAOoH,OAAQmG,GAAYlpD,OAAOgY,OAAO,CAAC,EAAG0yC,EAAc,CACvGpB,QAAS/0B,EAAMmzB,cAAcD,cAC7BjD,SAAUjwB,EAAM/G,QAAQi3B,SACxB+E,SAAUA,EACVC,aAAcA,OAIe,MAA7Bl1B,EAAMmzB,cAAchD,QACtBnwB,EAAMonB,OAAO+I,MAAQ1kD,OAAOgY,OAAO,CAAC,EAAGuc,EAAMonB,OAAO+I,MAAOwE,GAAYlpD,OAAOgY,OAAO,CAAC,EAAG0yC,EAAc,CACrGpB,QAAS/0B,EAAMmzB,cAAchD,MAC7BF,SAAU,WACVgF,UAAU,EACVC,aAAcA,OAIlBl1B,EAAM8vB,WAAWtB,OAAS/iD,OAAOgY,OAAO,CAAC,EAAGuc,EAAM8vB,WAAWtB,OAAQ,CACnE,wBAAyBxuB,EAAM4uB,WAEnC,EAQE7kD,KAAM,CAAC,GAgpCiE2lD,GAlf3D,CACb9kD,KAAM,SACN6rB,SAAS,EACTk5B,MAAO,OACPU,SAAU,CAAC,iBACXtrC,GA5BF,SAAgBgrC,GACd,IAAI/vB,EAAQ+vB,EAAM/vB,MACd/G,EAAU82B,EAAM92B,QAChBruB,EAAOmlD,EAAMnlD,KACbi1D,EAAkB5mC,EAAQm7B,OAC1BA,OAA6B,IAApByL,EAA6B,CAAC,EAAG,GAAKA,EAC/C91D,EAAO8kD,GAAWhnC,QAAO,SAAU8mC,EAAKC,GAE1C,OADAD,EAAIC,GA5BR,SAAiCA,EAAW2E,EAAOa,GACjD,IAAIhB,EAAgB9C,GAAiB1B,GACjCkR,EAAiB,CAAC9V,GAAMkE,IAAKtqC,QAAQwvC,IAAkB,GAAK,EAAI,EAEhExD,EAAyB,mBAAXwE,EAAwBA,EAAO3oD,OAAOgY,OAAO,CAAC,EAAG8vC,EAAO,CACxE3E,UAAWA,KACPwF,EACF2L,EAAWnQ,EAAK,GAChBoQ,EAAWpQ,EAAK,GAIpB,OAFAmQ,EAAWA,GAAY,EACvBC,GAAYA,GAAY,GAAKF,EACtB,CAAC9V,GAAME,IAAOtmC,QAAQwvC,IAAkB,EAAI,CACjDpkD,EAAGgxD,EACHlP,EAAGiP,GACD,CACF/wD,EAAG+wD,EACHjP,EAAGkP,EAEP,CASqBC,CAAwBrR,EAAW5uB,EAAMuzB,MAAOa,GAC1DzF,CACT,GAAG,CAAC,GACAuR,EAAwBn2D,EAAKi2B,EAAM4uB,WACnC5/C,EAAIkxD,EAAsBlxD,EAC1B8hD,EAAIoP,EAAsBpP,EAEW,MAArC9wB,EAAMmzB,cAAcD,gBACtBlzB,EAAMmzB,cAAcD,cAAclkD,GAAKA,EACvCgxB,EAAMmzB,cAAcD,cAAcpC,GAAKA,GAGzC9wB,EAAMmzB,cAAcvoD,GAAQb,CAC9B,GAqfmGixD,GAnV3E,CACtBpwD,KAAM,kBACN6rB,SAAS,EACTk5B,MAAO,OACP5qC,GA/HF,SAAyB6qC,GACvB,IAAI5vB,EAAQ4vB,EAAK5vB,MACb/G,EAAU22B,EAAK32B,QACfruB,EAAOglD,EAAKhlD,KACZswD,EAAoBjiC,EAAQ0/B,SAC5BwC,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBniC,EAAQoiC,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDpC,EAAW//B,EAAQ+/B,SACnBE,EAAejgC,EAAQigC,aACvBI,EAAcrgC,EAAQqgC,YACtBhG,EAAUr6B,EAAQq6B,QAClB6M,EAAkBlnC,EAAQmnC,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBpnC,EAAQqnC,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtDnJ,EAAW0B,GAAe54B,EAAO,CACnCg5B,SAAUA,EACVE,aAAcA,EACd5F,QAASA,EACTgG,YAAaA,IAEXlG,EAAgB9C,GAAiBtwB,EAAM4uB,WACvCkG,EAAYL,GAAaz0B,EAAM4uB,WAC/B2R,GAAmBzL,EACnB6D,EAAWpG,GAAyBa,GACpCiI,EA7BY,MA6BS1C,EA7BH,IAAM,IA8BxBzF,EAAgBlzB,EAAMmzB,cAAcD,cACpC2I,EAAgB77B,EAAMuzB,MAAM9E,UAC5BoG,EAAa70B,EAAMuzB,MAAM/E,OACzBgS,EAA4C,mBAAjBF,EAA8BA,EAAa70D,OAAOgY,OAAO,CAAC,EAAGuc,EAAMuzB,MAAO,CACvG3E,UAAW5uB,EAAM4uB,aACb0R,EACFG,EAA2D,iBAAtBD,EAAiC,CACxE7H,SAAU6H,EACVnF,QAASmF,GACP/0D,OAAOgY,OAAO,CAChBk1C,SAAU,EACV0C,QAAS,GACRmF,GACCE,EAAsB1gC,EAAMmzB,cAAciB,OAASp0B,EAAMmzB,cAAciB,OAAOp0B,EAAM4uB,WAAa,KACjG7kD,EAAO,CACTiF,EAAG,EACH8hD,EAAG,GAGL,GAAKoC,EAAL,CAIA,GAAIiI,EAAe,CACjB,IAAIwF,EAEAC,EAAwB,MAAbjI,EAAmBzK,GAAMlE,GACpC6W,EAAuB,MAAblI,EAAmBxK,GAASjE,GACtCxO,EAAmB,MAAbid,EAAmB,SAAW,QACpCvE,EAASlB,EAAcyF,GACvBlG,EAAQ2B,EAAS8C,EAAS0J,GAC1BlO,EAAQ0B,EAAS8C,EAAS2J,GAC1BC,EAAWV,GAAUvL,EAAWnZ,GAAO,EAAI,EAC3CqlB,EAASjM,IAAc7/B,GAAQ4mC,EAAcngB,GAAOmZ,EAAWnZ,GAC/DslB,EAASlM,IAAc7/B,IAAS4/B,EAAWnZ,IAAQmgB,EAAcngB,GAGjEuX,EAAejzB,EAAM6vB,SAASM,MAC9BsD,EAAY2M,GAAUnN,EAAelC,GAAckC,GAAgB,CACrEpyC,MAAO,EACPJ,OAAQ,GAENwgD,EAAqBjhC,EAAMmzB,cAAc,oBAAsBnzB,EAAMmzB,cAAc,oBAAoBG,QA7/BtG,CACLpF,IAAK,EACLhE,MAAO,EACPiE,OAAQ,EACRnE,KAAM,GA0/BFkX,EAAkBD,EAAmBL,GACrCO,EAAkBF,EAAmBJ,GAMrCO,EAAW5O,GAAO,EAAGqJ,EAAcngB,GAAM+X,EAAU/X,IACnD2lB,EAAYd,EAAkB1E,EAAcngB,GAAO,EAAIolB,EAAWM,EAAWF,EAAkBT,EAA4B9H,SAAWoI,EAASK,EAAWF,EAAkBT,EAA4B9H,SACxM2I,EAAYf,GAAmB1E,EAAcngB,GAAO,EAAIolB,EAAWM,EAAWD,EAAkBV,EAA4B9H,SAAWqI,EAASI,EAAWD,EAAkBV,EAA4B9H,SACzM7E,EAAoB9zB,EAAM6vB,SAASM,OAAS4B,GAAgB/xB,EAAM6vB,SAASM,OAC3EoR,EAAezN,EAAiC,MAAb6E,EAAmB7E,EAAkBkE,WAAa,EAAIlE,EAAkBmE,YAAc,EAAI,EAC7HuJ,EAAwH,OAAjGb,EAA+C,MAAvBD,OAA8B,EAASA,EAAoB/H,IAAqBgI,EAAwB,EAEvJc,EAAYrN,EAASkN,EAAYE,EACjCE,EAAkBlP,GAAO4N,EAAShgD,GAAIqyC,EAF1B2B,EAASiN,EAAYG,EAAsBD,GAEG9O,EAAO2B,EAAQgM,EAAS//C,GAAIqyC,EAAO+O,GAAa/O,GAC9GQ,EAAcyF,GAAY+I,EAC1B33D,EAAK4uD,GAAY+I,EAAkBtN,CACrC,CAEA,GAAIkH,EAAc,CAChB,IAAIqG,EAEAC,EAAyB,MAAbjJ,EAAmBzK,GAAMlE,GAErC6X,GAAwB,MAAblJ,EAAmBxK,GAASjE,GAEvC4X,GAAU5O,EAAcmI,GAExBuC,GAAmB,MAAZvC,EAAkB,SAAW,QAEpC0G,GAAOD,GAAU5K,EAAS0K,GAE1BI,GAAOF,GAAU5K,EAAS2K,IAE1BI,IAAuD,IAAxC,CAAC/T,GAAKlE,IAAMpmC,QAAQwvC,GAEnC8O,GAAyH,OAAjGP,EAAgD,MAAvBjB,OAA8B,EAASA,EAAoBrF,IAAoBsG,EAAyB,EAEzJQ,GAAaF,GAAeF,GAAOD,GAAUjG,EAAc+B,IAAQ/I,EAAW+I,IAAQsE,GAAuBzB,EAA4BpF,QAEzI+G,GAAaH,GAAeH,GAAUjG,EAAc+B,IAAQ/I,EAAW+I,IAAQsE,GAAuBzB,EAA4BpF,QAAU2G,GAE5IK,GAAmBjC,GAAU6B,GA/iCrC,SAAwB7hD,EAAK5Q,EAAO6Q,GAClC,IAAI7N,EAAIggD,GAAOpyC,EAAK5Q,EAAO6Q,GAC3B,OAAO7N,EAAI6N,EAAMA,EAAM7N,CACzB,CA4iCoD8vD,CAAeH,GAAYL,GAASM,IAAc5P,GAAO4N,EAAS+B,GAAaJ,GAAMD,GAAS1B,EAASgC,GAAaJ,IAEpK9O,EAAcmI,GAAWgH,GACzBt4D,EAAKsxD,GAAWgH,GAAmBP,EACrC,CAEA9hC,EAAMmzB,cAAcvoD,GAAQb,CAvE5B,CAwEF,EAQEyqD,iBAAkB,CAAC,WA8UyGzB,GAtiBjH,CACXnoD,KAAM,OACN6rB,SAAS,EACTk5B,MAAO,OACP6E,iBAAkB,CAAC,mBACnBzvC,GAlCF,SAAc6qC,GACZ,IAAI5vB,EAAQ4vB,EAAK5vB,MACbp1B,EAAOglD,EAAKhlD,KACZixD,EAAgB77B,EAAMuzB,MAAM9E,UAC5BoG,EAAa70B,EAAMuzB,MAAM/E,OACzBqO,EAAmB78B,EAAMmzB,cAAcoP,gBACvCC,EAAoB5J,GAAe54B,EAAO,CAC5Co5B,eAAgB,cAEdqJ,EAAoB7J,GAAe54B,EAAO,CAC5Cs5B,aAAa,IAEXoJ,EAA2B9F,GAAe4F,EAAmB3G,GAC7D8G,EAAsB/F,GAAe6F,EAAmB5N,EAAYgI,GACpE+F,EAAoB9F,GAAsB4F,GAC1CG,EAAmB/F,GAAsB6F,GAC7C3iC,EAAMmzB,cAAcvoD,GAAQ,CAC1B83D,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpB7iC,EAAM8vB,WAAWtB,OAAS/iD,OAAOgY,OAAO,CAAC,EAAGuc,EAAM8vB,WAAWtB,OAAQ,CACnE,+BAAgCoU,EAChC,sBAAuBC,GAE3B,MAsjBIC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAc,cACdC,GAAkB,kBAClBC,GAAgB,CAClB9M,SAAS,EACT+M,SAAS,GAEPC,GAA0B,WAC5B,OAAO7gD,SAAS8jC,IAClB,EACA,SAASgd,GAAwB7zD,EAAO+Y,EAAOylB,GAC7C,GAAI9jC,MAAMC,QAAQqF,GAAQ,CACxB,IAAIgD,EAAIhD,EAAM+Y,GACd,OAAY,MAAL/V,EAAYtI,MAAMC,QAAQ6jC,GAAgBA,EAAazlB,GAASylB,EAAex7B,CACxF,CAEA,OAAOhD,CACT,CACA,SAAS8zD,GAAO9zD,EAAO+B,GACrB,IAAIoR,EAAM,CAAC,EAAEjV,SAAS9B,KAAK4D,GAC3B,OAAkC,IAA3BmT,EAAIiB,QAAQ,YAAoBjB,EAAIiB,QAAQrS,EAAO,MAAQ,CACpE,CACA,SAASgyD,GAAuB/zD,EAAOqd,GACrC,MAAwB,mBAAVrd,EAAuBA,EAAMud,WAAM,EAAQF,GAAQrd,CACnE,CACA,SAASg0D,GAAWz+C,EAAI0+C,GAEtB,OAAW,IAAPA,EACK1+C,EAIF,SAAUe,GACf49C,aAAaxc,GACbA,EAAU/mC,YAAW,WACnB4E,EAAGe,EACL,GAAG29C,EACL,EANA,IAAIvc,CAON,CAWA,SAASyc,GAAiBn0D,GACxB,MAAO,GAAG+rB,OAAO/rB,EACnB,CACA,SAASo0D,GAAan1D,EAAKe,IACG,IAAxBf,EAAImV,QAAQpU,IACdf,EAAImC,KAAKpB,EAEb,CAMA,SAASq0D,GAAmBjV,GAC1B,OAAOA,EAAUz9C,MAAM,KAAK,EAC9B,CACA,SAAS2yD,GAAUt0D,GACjB,MAAO,GAAG+F,MAAM3J,KAAK4D,EACvB,CACA,SAASu0D,GAAqB/9C,GAC5B,OAAOva,OAAO4P,KAAK2K,GAAK6B,QAAO,SAAU8mC,EAAKnlD,GAK5C,YAJiBsE,IAAbkY,EAAIxc,KACNmlD,EAAInlD,GAAOwc,EAAIxc,IAGVmlD,CACT,GAAG,CAAC,EACN,CAEA,SAASqV,KACP,OAAOzhD,SAAS4vB,cAAc,MAChC,CACA,SAAS8xB,GAAYz0D,GACnB,MAAO,CAAC,UAAW,YAAY2rB,MAAK,SAAU5pB,GAC5C,OAAO+xD,GAAO9zD,EAAO+B,EACvB,GACF,CAIA,SAAS2yD,GAAa10D,GACpB,OAAO8zD,GAAO9zD,EAAO,aACvB,CAmBA,SAAS20D,GAAsBC,EAAK50D,GAClC40D,EAAI/xD,SAAQ,SAAUsR,GAChBA,IACFA,EAAG8xB,MAAM4uB,mBAAqB70D,EAAQ,KAE1C,GACF,CACA,SAAS80D,GAAmBF,EAAKpkC,GAC/BokC,EAAI/xD,SAAQ,SAAUsR,GAChBA,GACFA,EAAG6+B,aAAa,aAAcxiB,EAElC,GACF,CACA,SAASukC,GAAiBC,GACxB,IAAIjN,EAGAvI,EADoB2U,GAAiBa,GACT,GAGhC,OAAkB,MAAXxV,GAAsE,OAAlDuI,EAAwBvI,EAAQG,gBAA0BoI,EAAsBlR,KAAO2I,EAAQG,cAAgB5sC,QAC5I,CA2BA,SAASkiD,GAA4BC,EAAKC,EAAQC,GAChD,IAAIr1C,EAASo1C,EAAS,gBAGtB,CAAC,gBAAiB,uBAAuBtyD,SAAQ,SAAUjF,GACzDs3D,EAAIn1C,GAAQniB,EAAOw3D,EACrB,GACF,CAMA,SAASC,GAAev8C,EAAQqY,GAG9B,IAFA,IAAIr3B,EAASq3B,EAENr3B,GAAQ,CACb,IAAIw7D,EAEJ,GAAIx8C,EAAO8oC,SAAS9nD,GAClB,OAAO,EAGTA,EAA+B,MAAtBA,EAAOgoD,aAA+E,OAA/CwT,EAAsBx7D,EAAOgoD,oBAAvC,EAAyEwT,EAAoB3sD,IACrI,CAEA,OAAO,CACT,CAEA,IAAI4sD,GAAe,CACjBC,SAAS,GAEPC,GAAoB,EAQxB,SAASC,KACHH,GAAaC,UAIjBD,GAAaC,SAAU,EAEnBv8D,OAAOmjC,aACTrpB,SAASyhC,iBAAiB,YAAamhB,IAE3C,CAOA,SAASA,KACP,IAAI/gB,EAAMxY,YAAYwY,MAElBA,EAAM6gB,GAAoB,KAC5BF,GAAaC,SAAU,EACvBziD,SAAS2lC,oBAAoB,YAAaid,KAG5CF,GAAoB7gB,CACtB,CAQA,SAASghB,KACP,IA9I0B51D,EA8ItBy5C,EAAgB1mC,SAAS0mC,cAE7B,IAhJ0Bz5C,EAgJHy5C,IA/IJz5C,EAAM61D,QAAU71D,EAAM61D,OAAO5W,YAAcj/C,EA+IvB,CACrC,IAAIyjB,EAAWg2B,EAAcoc,OAEzBpc,EAAcqc,OAASryC,EAAS+M,MAAMulC,WACxCtc,EAAcqc,MAElB,CACF,CAMA,IACIE,KAD8B,oBAAX/8D,QAA8C,oBAAb8Z,WAEtD9Z,OAAOg9D,UAmBLC,GAAej6D,OAAOgY,OAAO,CAC/BkiD,SAAUvC,GACVwC,KAAM,CACJ9iB,QAAS,OACT+iB,SAAU,QAEZC,MAAO,EACPlhB,SAAU,CAAC,IAAK,KAChBmhB,uBAAwB,KACxBC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,kBAAmB,EACnBC,oBAAqB,EACrBC,eAAgB,GAChBjS,OAAQ,CAAC,EAAG,IACZkS,cAAe,WAA0B,EACzCphC,eAAgB,WAA2B,EAC3CqhC,SAAU,WAAqB,EAC/BC,UAAW,WAAsB,EACjCC,SAAU,WAAqB,EAC/BC,OAAQ,WAAmB,EAC3BC,QAAS,WAAoB,EAC7BC,OAAQ,WAAmB,EAC3BC,QAAS,WAAoB,EAC7BvqC,UAAW,WAAsB,EACjCwqC,YAAa,WAAwB,EACrCC,eAAgB,WAA2B,EAC3CnY,UAAW,MACXoY,QAAS,GACTC,cAAe,CAAC,EAChB3sC,OAAQ,KACR4sC,cAAc,EACdC,OAAO,EACPz7C,QAAS,mBACT07C,cAAe,MApDC,CAChBC,aAAa,EACbC,cAAc,EACdC,mBAAmB,EACnBC,QAAQ,GAEQ,CAChBC,WAAW,EACXC,UAAW,OACXvX,OAAO,EACPrN,QAAS,GACT6kB,SAAS,EACTC,SAAU,IACVx7D,KAAM,UACNy7D,MAAO,GACPC,OAAQ,OAuCNC,GAAct8D,OAAO4P,KAAKqqD,IAQ9B,SAASsC,GAAuBC,GAC9B,IACIC,GADUD,EAAYjB,SAAW,IACXn/C,QAAO,SAAU8mC,EAAK3hB,GAC9C,IAIMm7B,EAJFv9D,EAAOoiC,EAAOpiC,KACdojC,EAAehB,EAAOgB,aAQ1B,OANIpjC,IAGF+jD,EAAI/jD,QAA8BkD,IAAtBm6D,EAAYr9D,GAAsBq9D,EAAYr9D,GAAwC,OAA/Bu9D,EAAQzC,GAAa96D,IAAiBu9D,EAAQn6B,GAG5G2gB,CACT,GAAG,CAAC,GACJ,OAAOljD,OAAOgY,OAAO,CAAC,EAAGwkD,EAAaC,EACxC,CA0BA,SAASE,GAAc3Z,EAAWplD,GAChC,IAAIg/D,EAAM58D,OAAOgY,OAAO,CAAC,EAAGpa,EAAO,CACjCy5C,QAASygB,GAAuBl6D,EAAMy5C,QAAS,CAAC2L,KAC/CplD,EAAM48D,iBAAmB,CAAC,EA5B/B,SAA+BxX,EAAWuY,GAuBxC,OAtBeA,EAAUv7D,OAAO4P,KAAK2sD,GAAuBv8D,OAAOgY,OAAO,CAAC,EAAGiiD,GAAc,CAC1FsB,QAASA,MACJe,IACclgD,QAAO,SAAU8mC,EAAKnlD,GACzC,IAAI8+D,GAAiB7Z,EAAUxC,aAAa,cAAgBziD,IAAQ,IAAI6C,OAExE,IAAKi8D,EACH,OAAO3Z,EAGT,GAAY,YAARnlD,EACFmlD,EAAInlD,GAAO8+D,OAEX,IACE3Z,EAAInlD,GAAO+d,KAAKghD,MAAMD,EACxB,CAAE,MAAOjpD,GACPsvC,EAAInlD,GAAO8+D,CACb,CAGF,OAAO3Z,CACT,GAAG,CAAC,EAEN,CAImC6Z,CAAsB/Z,EAAWplD,EAAM29D,UAMxE,OALAqB,EAAIzC,KAAOn6D,OAAOgY,OAAO,CAAC,EAAGiiD,GAAaE,KAAMyC,EAAIzC,MACpDyC,EAAIzC,KAAO,CACTC,SAAgC,SAAtBwC,EAAIzC,KAAKC,SAAsBx8D,EAAM68D,YAAcmC,EAAIzC,KAAKC,SACtE/iB,QAA8B,SAArBulB,EAAIzC,KAAK9iB,QAAqBz5C,EAAM68D,YAAc,KAAO,cAAgBmC,EAAIzC,KAAK9iB,SAEtFulB,CACT,CAEA,IAAIllB,GAAY,WACd,MAAO,WACT,EAEA,SAASslB,GAAwBzZ,EAAS8I,GACxC9I,EAAQ7L,MAAe2U,CACzB,CAEA,SAAS4Q,GAAmBl5D,GAC1B,IAAI2gD,EAAQ6T,KAcZ,OAZc,IAAVx0D,EACF2gD,EAAMxF,UAAYqY,IAElB7S,EAAMxF,UAAYsY,GAEdgB,GAAYz0D,GACd2gD,EAAM7M,YAAY9zC,GAElBi5D,GAAwBtY,EAAO3gD,IAI5B2gD,CACT,CAEA,SAASwY,GAAW7lB,EAASz5C,GACvB46D,GAAY56D,EAAMy5C,UACpB2lB,GAAwB3lB,EAAS,IACjCA,EAAQQ,YAAYj6C,EAAMy5C,UACQ,mBAAlBz5C,EAAMy5C,UAClBz5C,EAAMo+D,UACRgB,GAAwB3lB,EAASz5C,EAAMy5C,SAEvCA,EAAQF,YAAcv5C,EAAMy5C,QAGlC,CACA,SAAS8lB,GAAYpa,GACnB,IAAIkW,EAAMlW,EAAOqa,kBACbC,EAAchF,GAAUY,EAAIjkC,UAChC,MAAO,CACLikC,IAAKA,EACL5hB,QAASgmB,EAAYj8D,MAAK,SAAU61C,GAClC,OAAOA,EAAKgE,UAAU0K,SAAS0R,GACjC,IACA3S,MAAO2Y,EAAYj8D,MAAK,SAAU61C,GAChC,OAAOA,EAAKgE,UAAU0K,SAAS4R,KAAgBtgB,EAAKgE,UAAU0K,SAAS6R,GACzE,IACA8F,SAAUD,EAAYj8D,MAAK,SAAU61C,GACnC,OAAOA,EAAKgE,UAAU0K,SAAS2R,GACjC,IAEJ,CACA,SAASzoC,GAAOrH,GACd,IAAIu7B,EAASwV,KACTU,EAAMV,KACVU,EAAI/Z,UA3aU,YA4ad+Z,EAAIliB,aAAa,aAAc,UAC/BkiB,EAAIliB,aAAa,WAAY,MAC7B,IAAIM,EAAUkhB,KAQd,SAASgF,EAASttC,EAAWC,GAC3B,IAAIstC,EAAeL,GAAYpa,GAC3BkW,EAAMuE,EAAavE,IACnB5hB,EAAUmmB,EAAanmB,QACvBqN,EAAQ8Y,EAAa9Y,MAErBx0B,EAAUksC,MACZnD,EAAIliB,aAAa,aAAc7mB,EAAUksC,OAEzCnD,EAAIha,gBAAgB,cAGa,iBAAxB/uB,EAAU+rC,UACnBhD,EAAIliB,aAAa,iBAAkB7mB,EAAU+rC,WAE7ChD,EAAIha,gBAAgB,kBAGlB/uB,EAAUgsC,QACZjD,EAAIliB,aAAa,eAAgB,IAEjCkiB,EAAIha,gBAAgB,gBAGtBga,EAAIjvB,MAAMmyB,SAAyC,iBAAvBjsC,EAAUisC,SAAwBjsC,EAAUisC,SAAW,KAAOjsC,EAAUisC,SAEhGjsC,EAAUvvB,KACZs4D,EAAIliB,aAAa,OAAQ7mB,EAAUvvB,MAEnCs4D,EAAIha,gBAAgB,QAGlBhvB,EAAUonB,UAAYnnB,EAAUmnB,SAAWpnB,EAAU+rC,YAAc9rC,EAAU8rC,WAC/EkB,GAAW7lB,EAAS7vB,EAAS5pB,OAG3BsyB,EAAUw0B,MACPA,EAEMz0B,EAAUy0B,QAAUx0B,EAAUw0B,QACvCuU,EAAItiB,YAAY+N,GAChBuU,EAAIphB,YAAYolB,GAAmB/sC,EAAUw0B,SAH7CuU,EAAIphB,YAAYolB,GAAmB/sC,EAAUw0B,QAKtCA,GACTuU,EAAItiB,YAAY+N,EAEpB,CAEA,OAvDArN,EAAQ6H,UAAYmY,GACpBhgB,EAAQN,aAAa,aAAc,UACnCmmB,GAAW7lB,EAAS7vB,EAAS5pB,OAC7BmlD,EAAOlL,YAAYohB,GACnBA,EAAIphB,YAAYR,GAChBkmB,EAAS/1C,EAAS5pB,MAAO4pB,EAAS5pB,OAkD3B,CACLmlD,OAAQA,EACRwa,SAAUA,EAEd,CAGA1uC,GAAO4uC,SAAU,EAEjB,IAAIC,GAAY,EACZC,GAAqB,GAErBC,GAAmB,GACvB,SAASC,GAAY7a,EAAWwZ,GAC9B,IAIIsB,EACAC,EACAC,EAKAC,EACAC,EACAvK,EAGA7V,EAzcU96C,EAybVpF,EAAQ++D,GAAc3Z,EAAWhjD,OAAOgY,OAAO,CAAC,EAAGiiD,GAAcsC,GAAuBjE,GAAqBkE,MAO7G2B,GAAqB,EACrBC,GAAgC,EAChCC,GAAe,EACfC,GAAsB,EAItBC,EAAY,GACZC,EAAuBzG,GAAW0G,EAAa7gE,EAAM+8D,qBAKrDpxC,EAAKm0C,KAELnC,GA/cUv4D,EA+cOpF,EAAM29D,SA9chBh7D,QAAO,SAAU6C,EAAM0Z,GAChC,OAAO9Z,EAAImV,QAAQ/U,KAAU0Z,CAC/B,IAydI0K,EAAW,CAEb+B,GAAIA,EACJy5B,UAAWA,EACXD,OAAQwV,KACRmG,eAnBmB,KAoBnB9gE,MAAOA,EACP22B,MAnBU,CAEVoqC,WAAW,EAEX7E,WAAW,EAEXhH,aAAa,EAEbt+B,WAAW,EAEXoqC,SAAS,GAUTrD,QAASA,EAETsD,mBAmoBF,WACE5G,aAAa6F,GACb7F,aAAa8F,GACbe,qBAAqBd,EACvB,EAtoBEe,SAwoBF,SAAkBC,GAEhB,IAAIx3C,EAAS+M,MAAMu+B,YAAnB,CAIAmM,EAAW,iBAAkB,CAACz3C,EAAUw3C,IACxCE,IACA,IAAIjvC,EAAYzI,EAAS5pB,MACrBsyB,EAAYysC,GAAc3Z,EAAWhjD,OAAOgY,OAAO,CAAC,EAAGiY,EAAWqoC,GAAqB0G,GAAe,CACxGxE,kBAAkB,KAEpBhzC,EAAS5pB,MAAQsyB,EACjBivC,IAEIlvC,EAAU0qC,sBAAwBzqC,EAAUyqC,sBAC9CyE,IACAZ,EAAuBzG,GAAW0G,EAAavuC,EAAUyqC,sBAIvD1qC,EAAU0rC,gBAAkBzrC,EAAUyrC,cACxCzD,GAAiBjoC,EAAU0rC,eAAe/0D,SAAQ,SAAUqwC,GAC1DA,EAAKgI,gBAAgB,gBACvB,IACS/uB,EAAUyrC,eACnB3Y,EAAU/D,gBAAgB,iBAG5BogB,IACAC,IAEI/B,GACFA,EAASttC,EAAWC,GAGlB1I,EAASk3C,iBACXa,IAKAC,IAAsB54D,SAAQ,SAAU64D,GAGtCtkB,sBAAsBskB,EAAa7F,OAAO8E,eAAepL,YAC3D,KAGF2L,EAAW,gBAAiB,CAACz3C,EAAUw3C,GA7CvC,CA8CF,EAzrBE9B,WA2rBF,SAAoB7lB,GAClB7vB,EAASu3C,SAAS,CAChB1nB,QAASA,GAEb,EA9rBEqoB,KAgsBF,WAGE,IAAIC,EAAmBn4C,EAAS+M,MAAMulC,UAClChH,EAActrC,EAAS+M,MAAMu+B,YAC7B8M,GAAcp4C,EAAS+M,MAAMoqC,UAC7BkB,EAA0BvG,GAAaC,UAAY/xC,EAAS5pB,MAAM89D,MAClEviB,EAAWye,GAAwBpwC,EAAS5pB,MAAMu7C,SAAU,EAAG8gB,GAAa9gB,UAEhF,KAAIwmB,GAAoB7M,GAAe8M,GAAcC,GAOjDC,IAAmBC,aAAa,cAIpCd,EAAW,SAAU,CAACz3C,IAAW,IAEO,IAApCA,EAAS5pB,MAAMu9D,OAAO3zC,KAA1B,CAmBA,GAfAA,EAAS+M,MAAMulC,WAAY,EAEvBkG,MACFjd,EAAO/Y,MAAMi2B,WAAa,WAG5BX,IACAY,IAEK14C,EAAS+M,MAAMC,YAClBuuB,EAAO/Y,MAAMja,WAAa,QAKxBiwC,IAAwB,CAC1B,IAAIG,EAAyBC,IAI7B1H,GAAsB,CAHZyH,EAAuBlH,IACnBkH,EAAuB9oB,SAEC,EACxC,CAxNF,IAEMjQ,EADA8yB,EAOAjjB,EAkNJ0c,EAAgB,WACd,IAAI0M,EAEJ,GAAK74C,EAAS+M,MAAMulC,YAAawE,EAAjC,CASA,GALAA,GAAsB,EAEjBvb,EAAOlI,aACZkI,EAAO/Y,MAAMja,WAAavI,EAAS5pB,MAAMg9D,eAErCoF,KAA0Bx4C,EAAS5pB,MAAMq+D,UAAW,CACtD,IAAIqE,EAAyBF,IACzBG,EAAOD,EAAuBrH,IAC9BuH,EAAWF,EAAuBjpB,QAEtCqhB,GAAsB,CAAC6H,EAAMC,GAAWrnB,GACxC0f,GAAmB,CAAC0H,EAAMC,GAAW,UACvC,CAEAC,IACApB,IACAlH,GAAayF,GAAkBp2C,GAGuB,OAArD64C,EAAyB74C,EAASk3C,iBAAmC2B,EAAuB/M,cAC7F2L,EAAW,UAAW,CAACz3C,IAEnBA,EAAS5pB,MAAMq+D,WAAa+D,KAhhBpC,SAA0B7mB,EAAUz1B,GAClCg9C,EAAgBvnB,GAghBe,WACzB3xB,EAAS+M,MAAMqqC,SAAU,EACzBK,EAAW,UAAW,CAACz3C,GACzB,GAlhBN,CA+gBMm5C,CAAiBxnB,EAzBnB,CA8BF,EA5PI+gB,EAAW1yC,EAAS5pB,MAAMs8D,SAO1BjjB,EAAO6oB,KAGT14B,EADE5f,EAAS5pB,MAAM68D,aAAeP,IAAavC,IAAwC,WAAbuC,EAC3DjjB,EAAK7P,WAEL0wB,GAAuBoC,EAAU,CAACjjB,KAKjC0O,SAAS5C,IACvB3b,EAAWyQ,YAAYkL,GAGzBv7B,EAAS+M,MAAMC,WAAY,EAC3B+qC,GA0KA,CA+DF,EAtxBEqB,KAwxBF,WAGE,IAAIC,GAAmBr5C,EAAS+M,MAAMulC,UAClChH,EAActrC,EAAS+M,MAAMu+B,YAC7B8M,GAAcp4C,EAAS+M,MAAMoqC,UAC7BxlB,EAAWye,GAAwBpwC,EAAS5pB,MAAMu7C,SAAU,EAAG8gB,GAAa9gB,UAEhF,KAAI0nB,GAAmB/N,GAAe8M,KAItCX,EAAW,SAAU,CAACz3C,IAAW,IAEO,IAApCA,EAAS5pB,MAAMq9D,OAAOzzC,IAA1B,CAiBA,GAbAA,EAAS+M,MAAMulC,WAAY,EAC3BtyC,EAAS+M,MAAMqqC,SAAU,EACzBN,GAAsB,EACtBH,GAAqB,EAEjB6B,MACFjd,EAAO/Y,MAAMi2B,WAAa,UAG5Bb,IACA0B,IACAxB,GAAa,GAETU,IAAwB,CAC1B,IAAIe,EAAyBX,IACzBnH,EAAM8H,EAAuB9H,IAC7B5hB,EAAU0pB,EAAuB1pB,QAEjC7vB,EAAS5pB,MAAMq+D,YACjBvD,GAAsB,CAACO,EAAK5hB,GAAU8B,GACtC0f,GAAmB,CAACI,EAAK5hB,GAAU,UAEvC,CAEAopB,IACApB,IAEI73C,EAAS5pB,MAAMq+D,UACb+D,KAjlBR,SAA2B7mB,EAAUz1B,GACnCg9C,EAAgBvnB,GAAU,YACnB3xB,EAAS+M,MAAMulC,WAAa/W,EAAO3b,YAAc2b,EAAO3b,WAAWue,SAAS5C,IAC/Er/B,GAEJ,GACF,CA4kBMs9C,CAAkB7nB,EAAU3xB,EAAS2a,SAGvC3a,EAAS2a,SAlCX,CAoCF,EA30BE8+B,sBA60BF,SAA+Bt/D,GAE7Bu/D,IAAc3oB,iBAAiB,YAAaimB,GAC5CrG,GAAawF,GAAoBa,GACjCA,EAAqB78D,EACvB,EAj1BEw/D,OAknBF,WACE35C,EAAS+M,MAAMoqC,WAAY,CAC7B,EAnnBEyC,QAqnBF,WAGE55C,EAASo5C,OACTp5C,EAAS+M,MAAMoqC,WAAY,CAC7B,EAznBEx8B,QAi1BF,WAEM3a,EAAS+M,MAAMulC,WACjBtyC,EAASo5C,OAGNp5C,EAAS+M,MAAMC,YAIpB6sC,IAIA7B,IAAsB54D,SAAQ,SAAU64D,GACtCA,EAAa7F,OAAOz3B,SACtB,IAEI4gB,EAAO3b,YACT2b,EAAO3b,WAAWuP,YAAYoM,GAGhC6a,GAAmBA,GAAiBr9D,QAAO,SAAU+W,GACnD,OAAOA,IAAMkQ,CACf,IACAA,EAAS+M,MAAMC,WAAY,EAC3ByqC,EAAW,WAAY,CAACz3C,IAC1B,EA32BEksC,QA62BF,WAEMlsC,EAAS+M,MAAMu+B,cAInBtrC,EAASq3C,qBACTr3C,EAAS2a,UACT+8B,WACOlc,EAAU4W,OACjBpyC,EAAS+M,MAAMu+B,aAAc,EAC7BmM,EAAW,YAAa,CAACz3C,IAC3B,GAn3BA,IAAK5pB,EAAMixB,OAET,OAAOrH,EAMT,IAAI85C,EAAgB1jE,EAAMixB,OAAOrH,GAC7Bu7B,EAASue,EAAcve,OACvBwa,EAAW+D,EAAc/D,SAE7Bxa,EAAOhM,aAAa,kBAAmB,IACvCgM,EAAOx5B,GAAK,SAAW/B,EAAS+B,GAChC/B,EAASu7B,OAASA,EAClBC,EAAU4W,OAASpyC,EACnBu7B,EAAO6W,OAASpyC,EAChB,IAAI+5C,EAAehG,EAAQ76D,KAAI,SAAU6gC,GACvC,OAAOA,EAAOjoB,GAAGkO,EACnB,IACIg6C,EAAkBxe,EAAU+c,aAAa,iBAsB7C,OArBAZ,IACAE,IACAC,IACAL,EAAW,WAAY,CAACz3C,IAEpB5pB,EAAM69D,cACRgG,KAKF1e,EAAOxK,iBAAiB,cAAc,WAChC/wB,EAAS5pB,MAAM68D,aAAejzC,EAAS+M,MAAMulC,WAC/CtyC,EAASq3C,oBAEb,IACA9b,EAAOxK,iBAAiB,cAAc,WAChC/wB,EAAS5pB,MAAM68D,aAAejzC,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,eAAiB,GAChF+oD,IAAc3oB,iBAAiB,YAAaimB,EAEhD,IACOh3C,EAIP,SAASk6C,IACP,IAAIhG,EAAQl0C,EAAS5pB,MAAM89D,MAC3B,OAAOj9D,MAAMC,QAAQg9D,GAASA,EAAQ,CAACA,EAAO,EAChD,CAEA,SAASiG,IACP,MAA2C,SAApCD,IAA6B,EACtC,CAEA,SAAS1B,IACP,IAAI4B,EAGJ,QAA6D,OAAlDA,EAAwBp6C,EAAS5pB,MAAMixB,UAAmB+yC,EAAsBnE,QAC7F,CAEA,SAASqC,IACP,OAAOhiB,GAAiBkF,CAC1B,CAEA,SAASke,IACP,IAAIrkD,EAASijD,IAAmB14B,WAChC,OAAOvqB,EAASi8C,GAAiBj8C,GAAU/F,QAC7C,CAEA,SAASspD,IACP,OAAOjD,GAAYpa,EACrB,CAEA,SAAS8e,EAASC,GAIhB,OAAIt6C,EAAS+M,MAAMC,YAAchN,EAAS+M,MAAMulC,WAAaR,GAAaC,SAAW0E,GAA8C,UAA1BA,EAAiBn4D,KACjH,EAGF8xD,GAAwBpwC,EAAS5pB,MAAMy8D,MAAOyH,EAAS,EAAI,EAAG7H,GAAaI,MACpF,CAEA,SAASiF,EAAayC,QACH,IAAbA,IACFA,GAAW,GAGbhf,EAAO/Y,MAAMg4B,cAAgBx6C,EAAS5pB,MAAM68D,cAAgBsH,EAAW,GAAK,OAC5Ehf,EAAO/Y,MAAMqyB,OAAS,GAAK70C,EAAS5pB,MAAMy+D,MAC5C,CAEA,SAAS4C,EAAWn0C,EAAM1J,EAAM6gD,GAY5B,IAAIC,OAXwB,IAA1BD,IACFA,GAAwB,GAG1BV,EAAa36D,SAAQ,SAAUu7D,GACzBA,EAAYr3C,IACdq3C,EAAYr3C,GAAMxJ,MAAM6gD,EAAa/gD,EAEzC,IAEI6gD,IAGDC,EAAkB16C,EAAS5pB,OAAOktB,GAAMxJ,MAAM4gD,EAAiB9gD,EAEpE,CAEA,SAASq/C,IACP,IAAItG,EAAO3yC,EAAS5pB,MAAMu8D,KAE1B,GAAKA,EAAK9iB,QAAV,CAIA,IAAI+qB,EAAO,QAAUjI,EAAK9iB,QACtB9tB,EAAKw5B,EAAOx5B,GACJ2uC,GAAiB1wC,EAAS5pB,MAAM+9D,eAAiB3Y,GACvDp8C,SAAQ,SAAUqwC,GACtB,IAAIorB,EAAeprB,EAAKuJ,aAAa4hB,GAErC,GAAI56C,EAAS+M,MAAMulC,UACjB7iB,EAAKF,aAAaqrB,EAAMC,EAAeA,EAAe,IAAM94C,EAAKA,OAC5D,CACL,IAAIw1B,EAAYsjB,GAAgBA,EAAa3+D,QAAQ6lB,EAAI,IAAI3oB,OAEzDm+C,EACF9H,EAAKF,aAAaqrB,EAAMrjB,GAExB9H,EAAKgI,gBAAgBmjB,EAEzB,CACF,GAnBA,CAoBF,CAEA,SAAS/C,KACHmC,GAAoBh6C,EAAS5pB,MAAMu8D,KAAKC,UAIhClC,GAAiB1wC,EAAS5pB,MAAM+9D,eAAiB3Y,GACvDp8C,SAAQ,SAAUqwC,GAClBzvB,EAAS5pB,MAAM68D,YACjBxjB,EAAKF,aAAa,gBAAiBvvB,EAAS+M,MAAMulC,WAAa7iB,IAAS6oB,IAAqB,OAAS,SAEtG7oB,EAAKgI,gBAAgB,gBAEzB,GACF,CAEA,SAASmgB,IACP8B,IAAczkB,oBAAoB,YAAa+hB,GAC/Cb,GAAqBA,GAAmBp9D,QAAO,SAAU44D,GACvD,OAAOA,IAAaqF,CACtB,GACF,CAEA,SAAS8D,EAAgB3gE,GAEvB,IAAI23D,GAAaC,UACX8E,GAA+B,cAAf18D,EAAMmE,KAD5B,CAMA,IAAIy8D,EAAe5gE,EAAM6gE,cAAgB7gE,EAAM6gE,eAAe,IAAM7gE,EAAM9D,OAE1E,IAAI2pB,EAAS5pB,MAAM68D,cAAerB,GAAerW,EAAQwf,GAAzD,CAKA,GAAIrK,GAAiB1wC,EAAS5pB,MAAM+9D,eAAiB3Y,GAAWtzB,MAAK,SAAUxX,GAC7E,OAAOkhD,GAAelhD,EAAIqqD,EAC5B,IAAI,CACF,GAAIjJ,GAAaC,QACf,OAGF,GAAI/xC,EAAS+M,MAAMulC,WAAatyC,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,UAAY,EACzE,MAEJ,MACE8mD,EAAW,iBAAkB,CAACz3C,EAAU7lB,KAGP,IAA/B6lB,EAAS5pB,MAAM28D,cACjB/yC,EAASq3C,qBACTr3C,EAASo5C,OAITxC,GAAgC,EAChC1pD,YAAW,WACT0pD,GAAgC,CAClC,IAIK52C,EAAS+M,MAAMC,WAClBssC,IA/BJ,CANA,CAwCF,CAEA,SAAS2B,IACPpE,GAAe,CACjB,CAEA,SAASqE,IACPrE,GAAe,CACjB,CAEA,SAAS6B,IACP,IAAI3pB,EAAM2qB,IACV3qB,EAAIgC,iBAAiB,YAAa+pB,GAAiB,GACnD/rB,EAAIgC,iBAAiB,WAAY+pB,EAAiB7K,IAClDlhB,EAAIgC,iBAAiB,aAAcmqB,EAAcjL,IACjDlhB,EAAIgC,iBAAiB,YAAakqB,EAAahL,GACjD,CAEA,SAASqJ,IACP,IAAIvqB,EAAM2qB,IACV3qB,EAAIkG,oBAAoB,YAAa6lB,GAAiB,GACtD/rB,EAAIkG,oBAAoB,WAAY6lB,EAAiB7K,IACrDlhB,EAAIkG,oBAAoB,aAAcimB,EAAcjL,IACpDlhB,EAAIkG,oBAAoB,YAAagmB,EAAahL,GACpD,CAcA,SAASiJ,EAAgBvnB,EAAUz1B,GACjC,IAAIu1C,EAAMmH,IAA6BnH,IAEvC,SAASE,EAASx3D,GACZA,EAAM9D,SAAWo7D,IACnBD,GAA4BC,EAAK,SAAUE,GAC3Cz1C,IAEJ,CAIA,GAAiB,IAAby1B,EACF,OAAOz1B,IAGTs1C,GAA4BC,EAAK,SAAUiF,GAC3ClF,GAA4BC,EAAK,MAAOE,GACxC+E,EAA+B/E,CACjC,CAEA,SAASh8C,EAAGwlD,EAAWp2C,EAASiB,QACd,IAAZA,IACFA,GAAU,GAGA0qC,GAAiB1wC,EAAS5pB,MAAM+9D,eAAiB3Y,GACvDp8C,SAAQ,SAAUqwC,GACtBA,EAAKsB,iBAAiBoqB,EAAWp2C,EAASiB,GAC1C+wC,EAAUp5D,KAAK,CACb8xC,KAAMA,EACN0rB,UAAWA,EACXp2C,QAASA,EACTiB,QAASA,GAEb,GACF,CAEA,SAAS2xC,IA5xBX,IAAuBp7D,EA6xBf49D,MACFxkD,EAAG,aAAc0T,EAAW,CAC1B85B,SAAS,IAEXxtC,EAAG,WAAYylD,EAAc,CAC3BjY,SAAS,MAlyBM5mD,EAsyBLyjB,EAAS5pB,MAAMqiB,QAryBxBlc,EAAM2B,MAAM,OAAOnF,OAAO+K,UAqyBO1E,SAAQ,SAAU+7D,GACtD,GAAkB,WAAdA,EAMJ,OAFAxlD,EAAGwlD,EAAW9xC,GAEN8xC,GACN,IAAK,aACHxlD,EAAG,aAAcylD,GACjB,MAEF,IAAK,QACHzlD,EAAG48C,GAAS,WAAa,OAAQ8I,GACjC,MAEF,IAAK,UACH1lD,EAAG,WAAY0lD,GAGrB,GACF,CAEA,SAAS3D,IACPX,EAAU33D,SAAQ,SAAUu9C,GAC1B,IAAIlN,EAAOkN,EAAKlN,KACZ0rB,EAAYxe,EAAKwe,UACjBp2C,EAAU43B,EAAK53B,QACfiB,EAAU22B,EAAK32B,QACnBypB,EAAKwF,oBAAoBkmB,EAAWp2C,EAASiB,EAC/C,IACA+wC,EAAY,EACd,CAEA,SAAS1tC,EAAUlvB,GACjB,IAAImhE,EAEAC,GAA0B,EAE9B,GAAKv7C,EAAS+M,MAAMoqC,YAAaqE,EAAuBrhE,KAAUy8D,EAAlE,CAIA,IAAI6E,EAAoG,WAA5C,OAAzCH,EAAoB7E,QAA4B,EAAS6E,EAAkBh9D,MAC9Fm4D,EAAmBt8D,EACnBm8C,EAAgBn8C,EAAMm8C,cACtBuhB,KAEK73C,EAAS+M,MAAMulC,WAAarB,GAAa92D,IAK5Cg8D,GAAmB/2D,SAAQ,SAAUuyD,GACnC,OAAOA,EAASx3D,EAClB,IAIiB,UAAfA,EAAMmE,OAAqB0hB,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,cAAgB,GAAKgmD,KAAsD,IAA/B32C,EAAS5pB,MAAM28D,aAAyB/yC,EAAS+M,MAAMulC,UAC/JiJ,GAA0B,EAE1BtB,GAAa9/D,GAGI,UAAfA,EAAMmE,OACRq4D,GAAsB4E,GAGpBA,IAA4BE,GAC9BC,GAAavhE,EA7Bf,CA+BF,CAEA,SAAS88D,EAAY98D,GACnB,IAAI9D,EAAS8D,EAAM9D,OACfslE,EAAgCrD,IAAmBna,SAAS9nD,IAAWklD,EAAO4C,SAAS9nD,GAE3F,GAAmB,cAAf8D,EAAMmE,OAAwBq9D,EAAlC,CAIA,IAAIC,EAAiB5D,IAAsB1vC,OAAOizB,GAAQriD,KAAI,SAAUqiD,GACtE,IAAIsgB,EAGA9uC,EAA6D,OAApD8uC,EADEtgB,EAAO6W,OACwB8E,qBAA0B,EAAS2E,EAAsB9uC,MAEvG,OAAIA,EACK,CACL60B,WAAYrG,EAAOgC,wBACnBue,YAAa/uC,EACb32B,MAAOA,GAIJ,IACT,IAAG2C,OAAO+K,UAhzBd,SAA0C83D,EAAgBzhE,GACxD,IAAI4hE,EAAU5hE,EAAM4hE,QAChBC,EAAU7hE,EAAM6hE,QACpB,OAAOJ,EAAe9/D,OAAM,SAAU6gD,GACpC,IAAIiF,EAAajF,EAAKiF,WAClBka,EAAcnf,EAAKmf,YAEnB5I,EADQvW,EAAKvmD,MACa88D,kBAC1B/S,EAAgByQ,GAAmBkL,EAAYngB,WAC/C2L,EAAawU,EAAY5b,cAAciB,OAE3C,IAAKmG,EACH,OAAO,EAGT,IAAI2U,EAAgC,WAAlB9b,EAA6BmH,EAAWrM,IAAI4C,EAAI,EAC9Dqe,EAAmC,QAAlB/b,EAA0BmH,EAAWpM,OAAO2C,EAAI,EACjEse,EAAiC,UAAlBhc,EAA4BmH,EAAWvQ,KAAKh7C,EAAI,EAC/DqgE,EAAkC,SAAlBjc,EAA2BmH,EAAWrQ,MAAMl7C,EAAI,EAChEsgE,EAAaza,EAAW3G,IAAM+gB,EAAUC,EAAc/I,EACtDoJ,EAAgBN,EAAUpa,EAAW1G,OAASghB,EAAiBhJ,EAC/DqJ,EAAc3a,EAAW7K,KAAOglB,EAAUI,EAAejJ,EACzDsJ,EAAeT,EAAUna,EAAW3K,MAAQmlB,EAAgBlJ,EAChE,OAAOmJ,GAAcC,GAAiBC,GAAeC,CACvD,GACF,EAyxBQC,CAAiCb,EAAgBzhE,KACnDy9D,IACA8D,GAAavhE,GArBf,CAuBF,CAEA,SAASihE,EAAajhE,GACHqhE,EAAuBrhE,IAAU6lB,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,UAAY,GAAKgmD,IAM9F32C,EAAS5pB,MAAM68D,YACjBjzC,EAASy5C,sBAAsBt/D,GAIjCuhE,GAAavhE,GACf,CAEA,SAASkhE,EAAiBlhE,GACpB6lB,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,WAAa,GAAKxW,EAAM9D,SAAWiiE,KAKlEt4C,EAAS5pB,MAAM68D,aAAe94D,EAAMuiE,eAAiBnhB,EAAO4C,SAAShkD,EAAMuiE,gBAI/EhB,GAAavhE,EACf,CAEA,SAASqhE,EAAuBrhE,GAC9B,QAAO23D,GAAaC,SAAUoI,MAA+BhgE,EAAMmE,KAAKqS,QAAQ,UAAY,CAC9F,CAEA,SAASonD,IACP8B,IACA,IAAI8C,EAAmB38C,EAAS5pB,MAC5B49D,EAAgB2I,EAAiB3I,cACjCrY,EAAYghB,EAAiBhhB,UAC7BwF,EAASwb,EAAiBxb,OAC1B2R,EAAyB6J,EAAiB7J,uBAC1CM,EAAiBuJ,EAAiBvJ,eAClClW,EAAQsb,IAAyB7C,GAAYpa,GAAQ2B,MAAQ,KAC7D0f,EAAoB9J,EAAyB,CAC/CvV,sBAAuBuV,EACvB7L,eAAgB6L,EAAuB7L,gBAAkBqR,KACvD9c,EA4BApwB,EAAY,CAAC,CACfzzB,KAAM,SACNquB,QAAS,CACPm7B,OAAQA,IAET,CACDxpD,KAAM,kBACNquB,QAAS,CACPq6B,QAAS,CACPpF,IAAK,EACLC,OAAQ,EACRnE,KAAM,EACNE,MAAO,KAGV,CACDt/C,KAAM,OACNquB,QAAS,CACPq6B,QAAS,IAEV,CACD1oD,KAAM,gBACNquB,QAAS,CACPg8B,UAAWoR,IAlDK,CAClBz7D,KAAM,UACN6rB,SAAS,EACTk5B,MAAO,cACPU,SAAU,CAAC,iBACXtrC,GAAI,SAAYgrC,GACd,IAAI/vB,EAAQ+vB,EAAM/vB,MAElB,GAAIyrC,IAAwB,CAC1B,IACI/G,EADwBmH,IACInH,IAEhC,CAAC,YAAa,mBAAoB,WAAWryD,SAAQ,SAAUw7D,GAChD,cAATA,EACFnJ,EAAIliB,aAAa,iBAAkBxiB,EAAM4uB,WAErC5uB,EAAM8vB,WAAWtB,OAAO,eAAiBqf,GAC3CnJ,EAAIliB,aAAa,QAAUqrB,EAAM,IAEjCnJ,EAAIha,gBAAgB,QAAUmjB,EAGpC,IACA7tC,EAAM8vB,WAAWtB,OAAS,CAAC,CAC7B,CACF,IA6BEid,KAA0Btb,GAC5B9xB,EAAUztB,KAAK,CACbhG,KAAM,QACNquB,QAAS,CACP+1B,QAASmB,EACTmD,QAAS,KAKfj1B,EAAUztB,KAAKmc,MAAMsR,GAA6B,MAAjB4oC,OAAwB,EAASA,EAAc5oC,YAAc,IAC9FpL,EAASk3C,eAAiB9K,GAAawQ,EAAmBrhB,EAAQ/iD,OAAOgY,OAAO,CAAC,EAAGwjD,EAAe,CACjGrY,UAAWA,EACXwQ,cAAeA,EACf/gC,UAAWA,IAEf,CAEA,SAASyuC,IACH75C,EAASk3C,iBACXl3C,EAASk3C,eAAehL,UACxBlsC,EAASk3C,eAAiB,KAE9B,CA4BA,SAASc,IACP,OAAOnH,GAAUtV,EAAOshB,iBAAiB,qBAC3C,CAEA,SAAS5C,GAAa9/D,GACpB6lB,EAASq3C,qBAELl9D,GACFs9D,EAAW,YAAa,CAACz3C,EAAU7lB,IAGrCu+D,IACA,IAAI7F,EAAQwH,GAAS,GAEjByC,EAAwB5C,IACxB6C,EAAaD,EAAsB,GACnCE,EAAaF,EAAsB,GAEnChL,GAAaC,SAA0B,SAAfgL,GAAyBC,IACnDnK,EAAQmK,GAGNnK,EACFyD,EAAcppD,YAAW,WACvB8S,EAASk4C,MACX,GAAGrF,GAEH7yC,EAASk4C,MAEb,CAEA,SAASwD,GAAavhE,GAIpB,GAHA6lB,EAASq3C,qBACTI,EAAW,cAAe,CAACz3C,EAAU7lB,IAEhC6lB,EAAS+M,MAAMulC,WASpB,KAAItyC,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,eAAiB,GAAKqP,EAAS5pB,MAAMqiB,QAAQ9H,QAAQ,UAAY,GAAK,CAAC,aAAc,aAAaA,QAAQxW,EAAMmE,OAAS,GAAKq4D,GAAjK,CAIA,IAAI9D,EAAQwH,GAAS,GAEjBxH,EACF0D,EAAcrpD,YAAW,WACnB8S,EAAS+M,MAAMulC,WACjBtyC,EAASo5C,MAEb,GAAGvG,GAIH2D,EAA6B7iB,uBAAsB,WACjD3zB,EAASo5C,MACX,GAfF,OAVEE,GA2BJ,CAgRF,CAEA,SAAS2D,GAAMC,EAASC,QACA,IAAlBA,IACFA,EAAgB,CAAC,GAGnB,IAAIpJ,EAAUtB,GAAasB,QAAQzrC,OAAO60C,EAAcpJ,SAAW,IAprCnEzkD,SAASyhC,iBAAiB,aAAckhB,GAAsBhC,IAC9Dz6D,OAAOu7C,iBAAiB,OAAQohB,IAsrChC,IA70C0B51D,EA60CtBy4D,EAAcx8D,OAAOgY,OAAO,CAAC,EAAG2sD,EAAe,CACjDpJ,QAASA,IAIPqJ,GAl1CsB7gE,EAg1CQ2gE,EA/0C9BlM,GAAYz0D,GACP,CAACA,GAXZ,SAAoBA,GAClB,OAAO8zD,GAAO9zD,EAAO,WACvB,CAYM8gE,CAAW9gE,GACNs0D,GAAUt0D,GAGftF,MAAMC,QAAQqF,GACTA,EAGFs0D,GAAUvhD,SAASutD,iBAAiBtgE,KAq0ClBqY,QAAO,SAAU8mC,EAAKF,GAC7C,IAAIx7B,EAAWw7B,GAAa6a,GAAY7a,EAAWwZ,GAMnD,OAJIh1C,GACF07B,EAAI/9C,KAAKqiB,GAGJ07B,CACT,GAAG,IACH,OAAOsV,GAAYkM,GAAWE,EAAU,GAAKA,CAC/C,CAEAH,GAAMxK,aAAeA,GACrBwK,GAAMK,gBA1oCgB,SAAyB9F,GAElCh/D,OAAO4P,KAAKovD,GAClBp4D,SAAQ,SAAU7I,GACrBk8D,GAAal8D,GAAOihE,EAAajhE,EACnC,GACF,EAqoCA0mE,GAAMnL,aAAeA,GAMrB,IAAIyL,GAAsB/kE,OAAOgY,OAAO,CAAC,EAAGisC,GAAe,CACzDtlC,OAAQ,SAAgBwlC,GACtB,IAAI5vB,EAAQ4vB,EAAK5vB,MACbgwB,EAAgB,CAClBxB,OAAQ,CACNyB,SAAUjwB,EAAM/G,QAAQi3B,SACxBlG,KAAM,IACNkE,IAAK,IACLxtC,OAAQ,KAEVyvC,MAAO,CACLF,SAAU,YAEZxB,UAAW,CAAC,GAEdhjD,OAAOgY,OAAOuc,EAAM6vB,SAASrB,OAAO/Y,MAAOua,EAAcxB,QACzDxuB,EAAMonB,OAAS4I,EAEXhwB,EAAM6vB,SAASM,OACjB1kD,OAAOgY,OAAOuc,EAAM6vB,SAASM,MAAM1a,MAAOua,EAAcG,MAI5D,IAyMEkX,GAAc,CAChBz8D,KAAM,cACNojC,cAAc,EACdjpB,GAAI,SAAYkO,GACd,IAAIo6C,EAGJ,GAAyD,OAAlDA,EAAwBp6C,EAAS5pB,MAAMixB,UAAmB+yC,EAAsBnE,QAErF,MAAO,CAAC,EAGV,IAAID,EAAeL,GAAY31C,EAASu7B,QACpCkW,EAAMuE,EAAavE,IACnB5hB,EAAUmmB,EAAanmB,QAEvBimB,EAAW91C,EAAS5pB,MAAMg+D,YAuClC,WACE,IAAI0B,EAAW/E,KAGf,OAFA+E,EAASpe,UAAYoY,GACrBuB,GAAmB,CAACyE,GAAW,UACxBA,CACT,CA5CgD0H,GAA0B,KACtE,MAAO,CACLlK,SAAU,WACJwC,IACFrE,EAAIviB,aAAa4mB,EAAUrE,EAAImE,mBAC/BnE,EAAIliB,aAAa,mBAAoB,IACrCkiB,EAAIjvB,MAAMyhB,SAAW,SACrBjkC,EAASu3C,SAAS,CAChBra,OAAO,EACPuX,UAAW,eAGjB,EACAf,QAAS,WACP,GAAIoC,EAAU,CACZ,IAAI1E,EAAqBK,EAAIjvB,MAAM4uB,mBAC/Bzf,EAAW/nC,OAAOwnD,EAAmBl1D,QAAQ,KAAM,KAIvD2zC,EAAQrN,MAAMi7B,gBAAkBlxD,KAAK+wC,MAAM3L,EAAW,IAAM,KAC5DmkB,EAAStzB,MAAM4uB,mBAAqBA,EACpCC,GAAmB,CAACyE,GAAW,UACjC,CACF,EACAnC,OAAQ,WACFmC,IACFA,EAAStzB,MAAM4uB,mBAAqB,MAExC,EACAqC,OAAQ,WACFqC,GACFzE,GAAmB,CAACyE,GAAW,SAEnC,EAEJ,GAUE4H,GAAc,CAChB3B,QAAS,EACTC,QAAS,GAEP2B,GAAkB,GAEtB,SAASC,GAAiBjhB,GACxB,IAAIof,EAAUpf,EAAKof,QACfC,EAAUrf,EAAKqf,QACnB0B,GAAc,CACZ3B,QAASA,EACTC,QAASA,EAEb,CAUA,IAAI3H,GAAe,CACjB18D,KAAM,eACNojC,cAAc,EACdjpB,GAAI,SAAYkO,GACd,IAAIw7B,EAAYx7B,EAASw7B,UACrBzM,EAAMuiB,GAAiBtxC,EAAS5pB,MAAM+9D,eAAiB3Y,GACvDqiB,GAAmB,EACnBC,GAAgB,EAChBv5C,GAAc,EACdkE,EAAYzI,EAAS5pB,MAEzB,SAAS2nE,IACP,MAAuC,YAAhC/9C,EAAS5pB,MAAMi+D,cAA8Br0C,EAAS+M,MAAMulC,SACrE,CAEA,SAAS0L,IACPjvB,EAAIgC,iBAAiB,YAAakmB,EACpC,CAEA,SAASgH,IACPlvB,EAAIkG,oBAAoB,YAAagiB,EACvC,CAEA,SAASiH,IACPL,GAAmB,EACnB79C,EAASu3C,SAAS,CAChBzE,uBAAwB,OAE1B+K,GAAmB,CACrB,CAEA,SAAS5G,EAAY98D,GAGnB,IAAIgkE,GAAwBhkE,EAAM9D,QAASmlD,EAAU2C,SAAShkD,EAAM9D,QAChEg+D,EAAer0C,EAAS5pB,MAAMi+D,aAC9B0H,EAAU5hE,EAAM4hE,QAChBC,EAAU7hE,EAAM6hE,QAChBve,EAAOjC,EAAU+B,wBACjB6gB,EAAYrC,EAAUte,EAAK1G,KAC3BsnB,EAAYrC,EAAUve,EAAKxC,KAE3BkjB,GAA0Bn+C,EAAS5pB,MAAM68D,aAC3CjzC,EAASu3C,SAAS,CAEhBzE,uBAAwB,WACtB,IAAIrV,EAAOjC,EAAU+B,wBACjBxhD,EAAIggE,EACJle,EAAIme,EAEa,YAAjB3H,IACFt4D,EAAI0hD,EAAK1G,KAAOqnB,EAChBvgB,EAAIJ,EAAKxC,IAAMojB,GAGjB,IAAIpjB,EAAuB,eAAjBoZ,EAAgC5W,EAAKxC,IAAM4C,EACjD5G,EAAyB,aAAjBod,EAA8B5W,EAAKxG,MAAQl7C,EACnDm/C,EAA0B,eAAjBmZ,EAAgC5W,EAAKvC,OAAS2C,EACvD9G,EAAwB,aAAjBsd,EAA8B5W,EAAK1G,KAAOh7C,EACrD,MAAO,CACL6R,MAAOqpC,EAAQF,EACfvpC,OAAQ0tC,EAASD,EACjBA,IAAKA,EACLhE,MAAOA,EACPiE,OAAQA,EACRnE,KAAMA,EAEV,GAGN,CAEA,SAASnnC,IACHoQ,EAAS5pB,MAAMi+D,eACjBsJ,GAAgBhgE,KAAK,CACnBqiB,SAAUA,EACV+uB,IAAKA,IApFf,SAAgCA,GAC9BA,EAAIgC,iBAAiB,YAAa6sB,GACpC,CAoFQU,CAAuBvvB,GAE3B,CAEA,SAASmd,IAOO,KANdyR,GAAkBA,GAAgB5kE,QAAO,SAAUjC,GACjD,OAAOA,EAAKkpB,WAAaA,CAC3B,KAEoBjnB,QAAO,SAAUjC,GACnC,OAAOA,EAAKi4C,MAAQA,CACtB,IAAGr1C,QA7FT,SAAmCq1C,GACjCA,EAAIkG,oBAAoB,YAAa2oB,GACvC,CA4FQW,CAA0BxvB,EAE9B,CAEA,MAAO,CACLukB,SAAU1jD,EACV2jD,UAAWrH,EACXj6B,eAAgB,WACdxJ,EAAYzI,EAAS5pB,KACvB,EACAi9D,cAAe,SAAuBpmD,EAAG6vC,GACvC,IAAIuX,EAAevX,EAAMuX,aAErBwJ,QAIiBhjE,IAAjBw5D,GAA8B5rC,EAAU4rC,eAAiBA,IAC3DnI,IAEImI,GACFzkD,KAEIoQ,EAAS+M,MAAMC,WAAc8wC,GAAkBC,KACjDC,MAGFC,IACAC,KAGN,EACAxK,QAAS,WACH1zC,EAAS5pB,MAAMi+D,eAAiByJ,IAC9Bv5C,IACF0yC,EAAYyG,IACZn5C,GAAc,GAGXw5C,KACHC,IAGN,EACA30C,UAAW,SAAmBpc,EAAG9S,GAC3B82D,GAAa92D,KACfujE,GAAc,CACZ3B,QAAS5hE,EAAM4hE,QACfC,QAAS7hE,EAAM6hE,UAInB8B,EAA+B,UAAf3jE,EAAMmE,IACxB,EACAk1D,SAAU,WACJxzC,EAAS5pB,MAAMi+D,eACjB6J,IACAD,IACA15C,GAAc,EAElB,EAEJ,GAgBE+vC,GAAoB,CACtB38D,KAAM,oBACNojC,cAAc,EACdjpB,GAAI,SAAYkO,GACd,IAMI27B,EANAH,EAAYx7B,EAASw7B,UAOrBgjB,GAAmB,EACnBX,GAAmB,EACnBY,EAAkB,GAClBlU,EAAW,CACb5yD,KAAM,yBACN6rB,SAAS,EACTk5B,MAAO,aACP5qC,GAAI,SAAYgrC,GACd,IAAI/vB,EAAQ+vB,EAAM/vB,MAZX/M,EAAS5pB,MAAMk+D,qBAe8B,IAA9CmK,EAAgB9tD,QAAQoc,EAAM4uB,aAChC8iB,EAAkB,IAGhB9iB,IAAc5uB,EAAM4uB,YAA2D,IAA9C8iB,EAAgB9tD,QAAQoc,EAAM4uB,aACjE8iB,EAAgB9gE,KAAKovB,EAAM4uB,WAC3B37B,EAASu3C,SAAS,CAEhBzE,uBAAwB,WACtB,OAUZ,SAAiCnX,GAC/B,OAkCN,SAAqC+iB,EAAsBC,EAAcC,EAAaJ,GAEpF,GAAII,EAAYllE,OAAS,GAA8B,OAAzBglE,EAC5B,OAAOC,EAIT,GAA2B,IAAvBC,EAAYllE,QAAgB8kE,GAAmB,GAAKI,EAAY,GAAG7nB,KAAO6nB,EAAY,GAAG3nB,MAC3F,OAAO2nB,EAAYJ,IAAoBG,EAGzC,OAAQD,GACN,IAAK,MACL,IAAK,SAED,IAAIG,EAAYD,EAAY,GACxBE,EAAWF,EAAYA,EAAYllE,OAAS,GAC5CqlE,EAAiC,QAAzBL,EACRzjB,EAAM4jB,EAAU5jB,IAChBC,EAAS4jB,EAAS5jB,OAClBnE,EAAOgoB,EAAQF,EAAU9nB,KAAO+nB,EAAS/nB,KACzCE,EAAQ8nB,EAAQF,EAAU5nB,MAAQ6nB,EAAS7nB,MAG/C,MAAO,CACLgE,IAAKA,EACLC,OAAQA,EACRnE,KAAMA,EACNE,MAAOA,EACPrpC,MAPUqpC,EAAQF,EAQlBvpC,OAPW0tC,EAASD,GAW1B,IAAK,OACL,IAAK,QAED,IAAI+jB,EAAUzyD,KAAKY,IAAI2M,MAAMvN,KAAMqyD,EAAY1lE,KAAI,SAAUonD,GAC3D,OAAOA,EAAMvJ,IACf,KACIkoB,EAAW1yD,KAAKa,IAAI0M,MAAMvN,KAAMqyD,EAAY1lE,KAAI,SAAUonD,GAC5D,OAAOA,EAAMrJ,KACf,KACIioB,EAAeN,EAAY7lE,QAAO,SAAU0kD,GAC9C,MAAgC,SAAzBihB,EAAkCjhB,EAAK1G,OAASioB,EAAUvhB,EAAKxG,QAAUgoB,CAClF,IACIE,EAAOD,EAAa,GAAGjkB,IACvBmkB,EAAUF,EAAaA,EAAaxlE,OAAS,GAAGwhD,OAQpD,MAAO,CACLD,IAAKkkB,EACLjkB,OAAQkkB,EACRroB,KAVUioB,EAWV/nB,MAVWgoB,EAWXrxD,MAXWqxD,EADDD,EAaVxxD,OARY4xD,EAAUD,GAY5B,QAEI,OAAOR,EAGf,CAxGaU,CAA4BzO,GAAmBjV,GAAYH,EAAU+B,wBAAyBsT,GAAUrV,EAAU8jB,kBAAmBd,EAC9I,CAZmBe,CAAwBxyC,EAAM4uB,UACvC,KAIJA,EAAY5uB,EAAM4uB,UAEtB,GAaF,SAAS6jB,IANT,IAA0BhI,EAOnBqG,IAPmBrG,EA1D9B,SAAkBphE,EAAOm0D,GACvB,IAAIkV,EAEJ,MAAO,CACLzL,cAAex7D,OAAOgY,OAAO,CAAC,EAAGpa,EAAM49D,cAAe,CACpD5oC,UAAW,GAAG9C,SAAyD,OAA/Cm3C,EAAuBrpE,EAAM49D,oBAAyB,EAASyL,EAAqBr0C,YAAc,IAAIryB,QAAO,SAAU4jD,GAE7I,OADWA,EAAKhlD,OACA4yD,EAAS5yD,IAC3B,IAAI,CAAC4yD,MAGX,CAuDyBmV,CAAS1/C,EAAS5pB,MAAOm0D,GAP5CsT,GAAmB,EACnB79C,EAASu3C,SAASC,GAClBqG,GAAmB,EAOrB,CAEA,MAAO,CACLvK,SAAUkM,EACVnM,cAAemM,EACfn2C,UAAW,SAAmBpc,EAAG9S,GAC/B,GAAI82D,GAAa92D,GAAQ,CACvB,IAAImmD,EAAQuQ,GAAU7wC,EAASw7B,UAAU8jB,kBACrCK,EAAarf,EAAM1mD,MAAK,SAAU6jD,GACpC,OAAOA,EAAK1G,KAAO,GAAK58C,EAAM4hE,SAAWte,EAAKxG,MAAQ,GAAK98C,EAAM4hE,SAAWte,EAAKxC,IAAM,GAAK9gD,EAAM6hE,SAAWve,EAAKvC,OAAS,GAAK/gD,EAAM6hE,OACxI,IACI1mD,EAAQgrC,EAAM3vC,QAAQgvD,GAC1BnB,EAAkBlpD,GAAS,EAAIA,EAAQkpD,CACzC,CACF,EACAhL,SAAU,WACRgL,GAAmB,CACrB,EAEJ,GA0EEjK,GAAS,CACX58D,KAAM,SACNojC,cAAc,EACdjpB,GAAI,SAAYkO,GACd,IAAIw7B,EAAYx7B,EAASw7B,UACrBD,EAASv7B,EAASu7B,OAMtB,SAASqkB,EAAYrjE,GACnB,OAAiC,IAA1ByjB,EAAS5pB,MAAMm+D,QAAmBv0C,EAAS5pB,MAAMm+D,SAAWh4D,CACrE,CAEA,IAAIsjE,EAAc,KACdC,EAAc,KAElB,SAASC,IACP,IAAIC,EAAiBJ,EAAY,cAX1B5/C,EAASk3C,eAAiBl3C,EAASk3C,eAAenqC,MAAM6vB,SAASpB,UAAYA,GAWrB+B,wBAA0B,KACrF0iB,EAAiBL,EAAY,UAAYrkB,EAAOgC,wBAA0B,MAE1EyiB,GAAkBE,GAAkBL,EAAaG,IAAmBC,GAAkBC,GAAkBJ,EAAaG,KACnHjgD,EAASk3C,gBACXl3C,EAASk3C,eAAevoC,SAI5BkxC,EAAcG,EACdF,EAAcG,EAEVjgD,EAAS+M,MAAMC,WACjB2mB,sBAAsBosB,EAE1B,CAEA,MAAO,CACLrM,QAAS,WACH1zC,EAAS5pB,MAAMm+D,QACjBwL,GAEJ,EAEJ,GAGF,SAASG,GAAkBC,EAAOC,GAChC,OAAID,IAASC,GACJD,EAAMllB,MAAQmlB,EAAMnlB,KAAOklB,EAAMlpB,QAAUmpB,EAAMnpB,OAASkpB,EAAMjlB,SAAWklB,EAAMllB,QAAUilB,EAAMppB,OAASqpB,EAAMrpB,IAI3H,CAaA,SAASspB,GAAS3vD,EAAI4vD,EAAO,CAAC,EAAGC,EAAW,CAAEpmC,OAAO,IACjD,MAAMqmC,EAAK1zC,KACL9M,EAAWlB,KACXiO,EAAQjO,GAAI,CACdq4C,WAAW,EACX7E,WAAW,EACXhH,aAAa,EACbt+B,WAAW,EACXoqC,SAAS,IAEb,IAAI72B,EAAY,KAChB,MAAMkgC,EAAeA,IACblgC,IAEJA,EAAYjxB,SAASoxD,yBACdngC,GAELogC,EAAc9wB,IAChB,IAAI+wB,EACAC,EAAmBrmD,GAAMq1B,GACvBA,EAAQtzC,MACRszC,EACN,GAAIxb,GAAQwsC,GACJL,IACAK,EAAiBjgD,WAAa4/C,EAAG5/C,YAErCkgD,GAASD,EAAkBJ,KAC3BG,EAAaA,IAAMH,SAElB,GAAgC,iBAArBI,EAA+B,CAC3C,IAAI17C,EAAOxY,GAAEk0D,GACTL,IACAr7C,EAAKvE,WAAa4/C,EAAG5/C,YAEzBkgD,GAAS37C,EAAMs7C,KACfG,EAAaA,IAAMH,GACvB,MAEIG,EAAaC,EAEjB,OAAOD,CAAU,EAEflB,EAAYY,IACd,IAAIt6C,EAAU,CAAC,EAuDf,OArDIA,EADAxL,GAAM8lD,GACIA,EAAK/jE,OAAS,CAAC,GAEpBgiB,GAAW+hD,GACN,IAAKA,IAKft6C,EAAQ6pB,UACR7pB,EAAQ6pB,QAAU8wB,EAAW36C,EAAQ6pB,UAErC7pB,EAAQmuC,gBACRnuC,EAAQmuC,cAAgB35C,GAAMwL,EAAQmuC,eAChCnuC,EAAQmuC,cAAc53D,MACtBypB,EAAQmuC,eAEbnuC,EAAQ+tC,SAAY98D,MAAMC,QAAQ8uB,EAAQ+tC,WAC3C/tC,EAAQ+tC,QAAU,IAEtB/tC,EAAQ+tC,QAAU/tC,EAAQ+tC,QAAQh7D,QAAQghC,GAA2B,0BAAhBA,EAAOpiC,OAC5DquB,EAAQ+tC,QAAQp2D,KAAK,CACjBhG,KAAM,wBACNma,GAAIA,KACO,CACHwhD,WACIvmC,EAAMxwB,MAAM46D,WAAY,CAC5B,EACAzD,UACI3mC,EAAMxwB,MAAMywB,WAAY,CAC5B,EACA2mC,SACI5mC,EAAMxwB,MAAMywB,WAAY,EACxBD,EAAMxwB,MAAM+1D,WAAY,CAC5B,EACAsB,UACI7mC,EAAMxwB,MAAM66D,SAAU,CAC1B,EACA3D,SACI1mC,EAAMxwB,MAAMywB,WAAY,EACxBD,EAAMxwB,MAAM+1D,WAAY,CAC5B,EACAkB,WACIzmC,EAAMxwB,MAAM66D,SAAU,CAC1B,EACA1lC,cACI3E,EAAMxwB,MAAMywB,WAAY,CAC5B,EACAumC,YACIxmC,EAAMxwB,MAAM+uD,aAAc,CAC9B,MAILtlC,CAAO,EAEZ+6C,EAAUA,KACP/gD,EAASzjB,OAEdyjB,EAASzjB,MAAMg7D,SAASmI,EAASY,GAAM,EAErCU,EAAiBA,KACdhhD,EAASzjB,OAAU+jE,EAAKzwB,SAE7B7vB,EAASzjB,MAAMm5D,WAAWiL,EAAWL,EAAKzwB,SAAS,EAUjDqc,EAAUA,KACRlsC,EAASzjB,QACTyjB,EAASzjB,MAAM2vD,UACflsC,EAASzjB,WAAQ1B,GAErB0lC,EAAY,IAAI,EAwBdpG,EAAQA,KACV,IAAKzpB,EACD,OACJ,IAAIra,EAASmkB,GAAM9J,GAAMA,EAAGnU,MAAQmU,EACd,mBAAXra,IACPA,EAASA,KACTA,IACA2pB,EAASzjB,MAAQ0gE,GAAM5mE,EAAQqpE,EAASY,IAExCjqE,EAAO4qE,OAASC,EACpB,EAEEA,EAAW,CACbjE,MAAOj9C,EACP+gD,UACAC,iBACAtL,WArDgBn5D,IAChB,IAAI+R,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAGonD,WAAWiL,EAAWpkE,GAAO,EAoD3Fg7D,SAlDch7D,IACd,IAAI+R,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAGipD,SAASmI,EAASnjE,GAAO,EAiDvF2vD,UACAkN,KArCSA,KACT,IAAI9qD,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAG8qD,MAAM,EAoCpElB,KA1CSA,KACT,IAAI5pD,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAG4pD,MAAM,EAyCpE0B,QAnCYA,KACZ,IAAItrD,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAGsrD,UAC9D7sC,EAAMxwB,MAAM46D,WAAY,CAAK,EAiC7BwC,OA/BWA,KACX,IAAIrrD,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAGqrD,SAC9D5sC,EAAMxwB,MAAM46D,WAAY,CAAI,EA6B5Bx8B,QA3BYA,KACZ,IAAIrsB,EACsB,QAAzBA,EAAK0R,EAASzjB,aAA0B,IAAP+R,GAAyBA,EAAGqsB,SAAS,EA0BvER,QACApN,SAwBJ,OAtBIwzC,EAASpmC,QACLqmC,GACIA,EAAGxzC,UACHmN,IAGA/M,GAAU+M,GAEdzI,IAAY,KACRw6B,GAAS,KAIb/xB,KAGJ3f,GAAM8lD,IAAS/hD,GAAW+hD,GAC1Bx3C,GAAMw3C,EAAMS,EAAS,CAAE93C,WAAW,IAE7BzO,GAAM8lD,EAAKzwB,UAChB/mB,GAAMw3C,EAAKzwB,QAASmxB,EAAgB,CAAE/3C,WAAW,IAE9Ci4C,CACX,CAhNAjE,GAAMK,gBAAgB,CACpBj2C,OAAQA,KAGV41C,GAAMK,gBAAgB,CAElB3J,OAAQ3zC,IACJ,IAAKA,EAAS5pB,MAAMy5C,QAChB,OAAO,CAAK,IA4PDnf,GAAgB,CACnCt6B,MAAO,CACH2gC,GAAI,CACAz4B,KAAM,CAAC2K,OAAQiG,WAEnBkgC,IAAK,CACD9wC,KAAM,CAAC2K,OAAQzQ,QACfgG,QAAS,QAEb2iE,WAAY,CACR7iE,KAAM,CAAC2K,OAAQzQ,QACfgG,QAAS,QAEb4iE,aAAc,CACV9iE,KAAM2K,OACNzK,QAAS,MAEbk0D,SAAU,CAAEl0D,QAASA,IAAMy+D,GAAMxK,aAAuB,UACxDE,KAAM,CAAEn0D,QAASA,IAAMy+D,GAAMxK,aAAmB,MAChDI,MAAO,CAAEr0D,QAASA,IAAMy+D,GAAMxK,aAAoB,OAClD9gB,SAAU,CAAEnzC,QAASA,IAAMy+D,GAAMxK,aAAuB,UACxDK,uBAAwB,CAAEt0D,QAASA,IAAMy+D,GAAMxK,aAAqC,wBACpFM,YAAa,CAAEz0D,KAAM,CAACwF,QAASmF,QAASzK,QAASA,IAAMy+D,GAAMxK,aAA0B,aACvFO,iBAAkB,CAAE10D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAA+B,kBACvFQ,YAAa,CAAE30D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAA0B,aAC7ES,kBAAmB,CAAE10D,QAASA,IAAMy+D,GAAMxK,aAAgC,mBAC1EU,oBAAqB,CAAE30D,QAASA,IAAMy+D,GAAMxK,aAAkC,qBAC9EW,eAAgB,CAAE50D,QAASA,IAAMy+D,GAAMxK,aAA6B,gBACpEtR,OAAQ,CAAE3iD,QAASA,IAAMy+D,GAAMxK,aAAqB,QACpDY,cAAe,CAAE70D,QAASA,IAAMy+D,GAAMxK,aAA4B,eAClExgC,eAAgB,CAAEzzB,QAASA,IAAMy+D,GAAMxK,aAA6B,gBACpEa,SAAU,CAAE90D,QAASA,IAAMy+D,GAAMxK,aAAuB,UACxDc,UAAW,CAAE/0D,QAASA,IAAMy+D,GAAMxK,aAAwB,WAC1De,SAAU,CAAEh1D,QAASA,IAAMy+D,GAAMxK,aAAuB,UACxDgB,OAAQ,CAAEj1D,QAASA,IAAMy+D,GAAMxK,aAAqB,QACpDiB,QAAS,CAAEl1D,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtDkB,OAAQ,CAAEn1D,QAASA,IAAMy+D,GAAMxK,aAAqB,QACpDmB,QAAS,CAAEp1D,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtDppC,UAAW,CAAE7qB,QAASA,IAAMy+D,GAAMxK,aAAwB,WAC1DoB,YAAa,CAAEr1D,QAASA,IAAMy+D,GAAMxK,aAA0B,aAC9DqB,eAAgB,CAAEt1D,QAASA,IAAMy+D,GAAMxK,aAA6B,gBACpE9W,UAAW,CAAEn9C,QAASA,IAAMy+D,GAAMxK,aAAwB,WAC1DsB,QAAS,CAAEv1D,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtDuB,cAAe,CAAEx1D,QAASA,IAAMy+D,GAAMxK,aAA4B,eAClEprC,OAAQ,CAAE7oB,QAASA,IAAMy+D,GAAMxK,aAAqB,QACpDwB,aAAc,CAAE31D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAA2B,cAC/EyB,MAAO,CAAE51D,KAAM,CAACwF,QAASmF,OAAQhS,OAAQuH,QAASA,IAAMy+D,GAAMxK,aAAoB,OAClFh6C,QAAS,CAAEja,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtD0B,cAAe,CAAE31D,QAASA,IAAMy+D,GAAMxK,aAA4B,eAClE2B,YAAa,CAAE91D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAA0B,aAC7E4B,aAAc,CAAE/1D,KAAM,CAACwF,QAASmF,QAASzK,QAASA,IAAMy+D,GAAMxK,aAA2B,cACzF6B,kBAAmB,CAAEh2D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAAgC,mBACzF8B,OAAQ,CAAEj2D,KAAM,CAACwF,QAASmF,QAASzK,QAASA,IAAMy+D,GAAMxK,aAAqB,QAC7E+B,UAAW,CAAEl2D,KAAMwF,QAAStF,QAASA,IAAMy+D,GAAMxK,aAAwB,WACzEgC,UAAW,CAAEj2D,QAASA,IAAMy+D,GAAMxK,aAAwB,WAC1DvV,MAAO,CAAE1+C,QAASA,IAAMy+D,GAAMxK,aAAoB,OAClD5iB,QAAS,CAAErxC,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtDiC,QAAS,CAAEl2D,QAASA,IAAMy+D,GAAMxK,aAAsB,SACtDkC,SAAU,CAAEn2D,QAASA,IAAMy+D,GAAMxK,aAAuB,UACxDt5D,KAAM,CAAEqF,QAASA,IAAMy+D,GAAMxK,aAAmB,MAChDmC,MAAO,CAAEp2D,QAASA,IAAMy+D,GAAMxK,aAAoB,OAClDoC,OAAQ,CAAEr2D,QAASA,IAAMy+D,GAAMxK,aAAqB,SAExDltC,MAAO,CAAC,SACRsH,MAAMz2B,GAAO,MAAE+wB,EAAK,KAAE/D,EAAI,OAAE8hB,IACxB,MAAMm8B,EAAOviD,KACPwiD,EAAcxiD,KACduM,EAAUvM,IAAI,GACdyiD,EAAaA,KACf,IAAIv7C,EAAU,IAAK5vB,GACnB,IAAK,MAAM+lC,IAAQ,CAAC,KAAM,MAAO,aAAc,gBACvCnW,EAAQttB,eAAeyjC,WAEhBnW,EAAQmW,GAGvB,OAAOnW,CAAO,EAElB,IAAI3vB,EAASA,IAnFrB,SAAsBmrE,GAClB,IAAIlzD,EAAIiV,EACR,MAAMk+C,EANc,mBADPx1D,EAOSu1D,GALhBv1D,IACAoT,GAAMpT,GAHhB,IAAiBA,EAQb,OAA2E,QAAnEsX,EAAsB,QAAhBjV,EAAKmzD,SAA0B,IAAPnzD,OAAgB,EAASA,EAAGomB,WAAwB,IAAPnR,EAAgBA,EAAKk+C,CAC5G,CA+E2BC,CAAaL,GAC5BjrE,EAAM2gC,KACiB,oBAAZslB,SAA2BjmD,EAAM2gC,cAAcslB,QACtDhmD,EAASA,IAAMD,EAAM2gC,IAEI,iBAAb3gC,EAAM2gC,IAAmB3gC,EAAM2gC,cAAc9tB,UACzD5S,EAASA,IAAMiZ,SAASsgC,cAAcx5C,EAAM2gC,MAGpD,MAAMkmC,EAAQoD,GAAShqE,EAAQkrE,KAC/Bn0C,IAAU,KACN/B,EAAQ9uB,OAAQ,EAChBqlB,IAAS,KACDuF,EAAM0oB,SACNotB,EAAMvH,YAAW,IAAM4L,EAAY/kE,OAAM,GAC/C,IAENusB,GAAMm0C,EAAMlwC,OAAO,KACf3J,EAAK,QAAS/D,GAAM49C,EAAMlwC,OAAO,GAClC,CAAE9D,WAAW,EAAMC,MAAM,IAC5BJ,IAAM,IAAM1yB,IAAO,KACf6mE,EAAM1F,SAASgK,KACXp6C,EAAM0oB,SACNotB,EAAMvH,YAAW,IAAM4L,EAAY/kE,OAAM,GAC9C,CAAE2sB,MAAM,IACX,IAAIwa,EAAUhpB,GAAS,CACnB2mD,OACAC,cACAj2C,aACG4xC,IAGP,OADA/3B,EAAOxB,GACA,KACH,MAAM9P,EAAOzM,EAAM3oB,QAAU2oB,EAAM3oB,QAAQklC,GAAW,GAChDy9B,GAAoB/qE,EAAM+qE,WAA0B/qE,EAAM+qE,YAChE,IAAK/qE,EAAMg5C,IAAK,CACZ,MAAM32B,EAAU9L,GAAEinB,EAAK,GAAI,CACvB9U,IAAKuiD,EAAM,eAAgB,KAE/B,OAAOl6C,EAAM0oB,QACT,CACIp3B,EAAS9L,GAAEw0D,EAAY,CACnBriD,IAAKwiD,EACL9+B,MAAO,CAAEsV,QAASzsB,EAAQ9uB,MAAQ,UAAY,QAC9CgmC,MAAOnsC,EAAMgrE,cACdj6C,EAAM0oB,QAAQnM,KAEnBjrB,CACV,CAEA,OAAO9L,IADYvW,EAAMg5C,IAAmBh5C,EAAMg5C,KACpC,CAAEtwB,IAAKuiD,EAAM,eAAgB,IAAMl6C,EAAM0oB,QAAU,CAC7Djc,EACAjnB,GAAEw0D,EAAY,CACVriD,IAAKwiD,EACL9+B,MAAO,CAAEsV,QAASzsB,EAAQ9uB,MAAQ,UAAY,QAC9CgmC,MAAOnsC,EAAMgrE,cACdj6C,EAAM0oB,QAAQnM,KACjB9P,EAAK,CAEjB,IAzIJ,MA4IM+tC,GAAe,CACjB,OACA,YACA,QACA,OACA,eACA,cACA,mBACA,UACA,cACA,OACA,WACA,aACA,QACA,aAEJ,IAAIvrE,GAAQ,CAAC,EACboC,OAAO4P,KAAK60D,GAAMxK,cAAcrzD,SAAS+8B,IACjCwlC,GAAaroE,SAAS6iC,GACtB/lC,GAAM+lC,GAAQ,CACV79B,KAAMwF,QACNtF,QAAS,WACL,OAAOy+D,GAAMxK,aAAat2B,EAC9B,GAIJ/lC,GAAM+lC,GAAQ,CACV39B,QAAS,WACL,OAAOy+D,GAAMxK,aAAat2B,EAC9B,EAER,IAEmBzL,GAAgB,CACnCt6B,SACAy2B,MAAMz2B,GACF,MAAMgnE,EAAYt+C,GAAI,KAChB,UAAE8iD,GAtNhB,SAAsBxE,EAAWD,GAC7B,MAAMyE,EAAY9iD,KAoBlB,OAnBAsO,IAAU,KACN,MAKMy0C,GALwB5qE,MAAMC,QAAQkmE,GACtCA,EAAUlkE,KAAI4W,GAAKA,EAAEvT,QACA,mBAAd6gE,EACHA,IACAA,EAAU7gE,OAEfrD,KAAK8mB,GACFA,aAAoBq8B,QAEbr8B,EAASoyC,OAEbpyC,IAENjnB,OAAO+K,SACZ89D,EAAUrlE,MA93BI,SAAyBslE,EAAgB1E,GAC7D,IAAI2E,OAEkB,IAAlB3E,IACFA,EAAgB,CAAC,GAGnB,IAGI7mB,EAHAyrB,EAAsBF,EACtBG,EAAa,GACbC,EAAiB,GAEjBC,EAAY/E,EAAc+E,UAC1BC,EAA4B,GAC5BC,GAAgB,EAEpB,SAASC,IACPJ,EAAiBF,EAAoB7oE,KAAI,SAAU8mB,GACjD,OAAO0wC,GAAiB1wC,EAAS5pB,MAAM+9D,eAAiBn0C,EAASw7B,UACnE,IAAG5mC,QAAO,SAAU8mC,EAAK9/C,GACvB,OAAO8/C,EAAIpzB,OAAO1sB,EACpB,GAAG,GACL,CAEA,SAAS0mE,IACPN,EAAaD,EAAoB7oE,KAAI,SAAU8mB,GAC7C,OAAOA,EAASw7B,SAClB,GACF,CAEA,SAAS+mB,EAAgBpL,GACvB4K,EAAoB3iE,SAAQ,SAAU4gB,GAChCm3C,EACFn3C,EAAS25C,SAET35C,EAAS45C,SAEb,GACF,CAEA,SAAS4I,EAAkBZ,GACzB,OAAOG,EAAoB7oE,KAAI,SAAU8mB,GACvC,IAAIyiD,EAAmBziD,EAASu3C,SAUhC,OARAv3C,EAASu3C,SAAW,SAAUnhE,GAC5BqsE,EAAiBrsE,GAEb4pB,EAASw7B,YAAclF,GACzBsrB,EAAUrK,SAASnhE,EAEvB,EAEO,WACL4pB,EAASu3C,SAAWkL,CACtB,CACF,GACF,CAGA,SAASC,EAAgBd,EAAWvrE,GAClC,IAAIif,EAAQ2sD,EAAetxD,QAAQta,GAEnC,GAAIA,IAAWigD,EAAf,CAIAA,EAAgBjgD,EAChB,IAAIssE,GAAiBT,GAAa,IAAI55C,OAAO,WAAW1T,QAAO,SAAU8mC,EAAKvf,GAE5E,OADAuf,EAAIvf,GAAQ4lC,EAAoBzsD,GAAOlf,MAAM+lC,GACtCuf,CACT,GAAG,CAAC,GACJkmB,EAAUrK,SAAS/+D,OAAOgY,OAAO,CAAC,EAAGmyD,EAAe,CAClD7P,uBAAwE,mBAAzC6P,EAAc7P,uBAAwC6P,EAAc7P,uBAAyB,WAC1H,IAAI8P,EAEJ,OAAkD,OAA1CA,EAAoBZ,EAAW1sD,SAAkB,EAASstD,EAAkBrlB,uBACtF,IAZF,CAcF,CAEAglB,GAAgB,GAChBD,IACAD,IACA,IA1gDwBtvD,EAAK3K,EACzB4nB,EAygDA+J,EAAS,CACXjoB,GAAI,WACF,MAAO,CACLyhD,UAAW,WACTgP,GAAgB,EAClB,EACA/O,SAAU,WACRld,EAAgB,IAClB,EACAwd,eAAgB,SAAwB9zC,GAClCA,EAAS5pB,MAAM69D,eAAiBmO,IAClCA,GAAgB,EAChB9rB,EAAgB,KAEpB,EACAqd,OAAQ,SAAgB3zC,GAClBA,EAAS5pB,MAAM69D,eAAiBmO,IAClCA,GAAgB,EAChBM,EAAgB1iD,EAAUgiD,EAAW,IAEzC,EACA34C,UAAW,SAAmBrJ,EAAU7lB,GACtCuoE,EAAgB1iD,EAAU7lB,EAAMm8C,cAClC,EAEJ,GAEEsrB,EAAY3E,GAAMlM,KAAOv4D,OAAOgY,OAAO,CAAC,GAriDpBuC,EAqiDwCoqD,EAriDnC/0D,EAqiDkD,CAAC,aApiD5E4nB,EAAQx3B,OAAOgY,OAAO,CAAC,EAAGuC,GAC9B3K,EAAKhJ,SAAQ,SAAU7I,UACdy5B,EAAMz5B,EACf,IACOy5B,GAgiDwF,CAC7F+jC,QAAS,CAACh6B,GAAQzR,OAAO60C,EAAcpJ,SAAW,IAClDI,cAAe8N,EACfjO,cAAex7D,OAAOgY,OAAO,CAAC,EAAG2sD,EAAcnJ,cAAe,CAC5D5oC,UAAW,GAAG9C,QAAiE,OAAxDw5C,EAAwB3E,EAAcnJ,oBAAyB,EAAS8N,EAAsB12C,YAAc,GAAI,CAACmyC,UAGxIsF,EAAejB,EAAU1J,KAE7B0J,EAAU1J,KAAO,SAAU7hE,GAIzB,GAHAwsE,KAGKvsB,GAA2B,MAAVjgD,EACpB,OAAOqsE,EAAgBd,EAAWI,EAAW,IAK/C,IAAI1rB,GAA2B,MAAVjgD,EAArB,CAKA,GAAsB,iBAAXA,EACT,OAAO2rE,EAAW3rE,IAAWqsE,EAAgBd,EAAWI,EAAW3rE,IAIrE,GAAI0rE,EAAoBpxD,QAAQta,IAAW,EAAG,CAC5C,IAAIyoB,EAAMzoB,EAAOmlD,UACjB,OAAOknB,EAAgBd,EAAW9iD,EACpC,CAGA,OAAIkjD,EAAWrxD,QAAQta,IAAW,EACzBqsE,EAAgBd,EAAWvrE,QADpC,CAdA,CAiBF,EAEAurE,EAAUkB,SAAW,WACnB,IAAI3qE,EAAQ6pE,EAAW,GAEvB,IAAK1rB,EACH,OAAOsrB,EAAU1J,KAAK,GAGxB,IAAI5iD,EAAQ0sD,EAAWrxD,QAAQ2lC,GAC/BsrB,EAAU1J,KAAK8J,EAAW1sD,EAAQ,IAAMnd,EAC1C,EAEAypE,EAAUmB,aAAe,WACvB,IAAI/sD,EAAOgsD,EAAWA,EAAWtoE,OAAS,GAE1C,IAAK48C,EACH,OAAOsrB,EAAU1J,KAAKliD,GAGxB,IAAIV,EAAQ0sD,EAAWrxD,QAAQ2lC,GAC3BjgD,EAAS2rE,EAAW1sD,EAAQ,IAAMU,EACtC4rD,EAAU1J,KAAK7hE,EACjB,EAEA,IAAIosE,EAAmBb,EAAUrK,SAuBjC,OArBAqK,EAAUrK,SAAW,SAAUnhE,GAC7B8rE,EAAY9rE,EAAM8rE,WAAaA,EAC/BO,EAAiBrsE,EACnB,EAEAwrE,EAAUoB,aAAe,SAAUC,GACjCV,GAAgB,GAChBJ,EAA0B/iE,SAAQ,SAAU0S,GAC1C,OAAOA,GACT,IACAiwD,EAAsBkB,EACtBV,GAAgB,GAChBD,IACAD,IACAF,EAA4BK,EAAkBZ,GAC9CA,EAAUrK,SAAS,CACjBpD,cAAe8N,GAEnB,EAEAE,EAA4BK,EAAkBZ,GACvCA,CACT,CA0rB0BsB,CAAgBrB,EAAgB1E,EAC5C,CAAE3I,WAAW,KAAS2I,GACtB,CAAE3I,WAAW,GAAO,IAEvB,CACHoN,YAER,CA8L8BuB,CAAa/F,EAAWhnE,GAC9C,MAAO,CAAEgnE,YAAWwE,YACxB,EACAv2C,UACI,IAAI/c,EACJ,MACMsuC,EADS3tC,KAAKylB,IAAI0uC,cACAvG,iBAAiB,kBACzC5tD,KAAKmuD,UAAYnmE,MAAMs8B,KAAKqpB,GACvB1jD,KAAKwX,GAAOA,EAAG0hD,SACfr5D,OAAO+K,SACc,QAAzBwK,EAAKW,KAAK2yD,iBAA8B,IAAPtzD,GAAyBA,EAAG00D,aAAa/zD,KAAKmuD,UACpF,EACA/1C,SACI,IAAIuM,EAAO3kB,KAAK6lB,OAAOt2B,QAAUyQ,KAAK6lB,OAAOt2B,UAAY,GACzD,OAAOmO,IAAE,IAAMinB,GACnB,IAnBJ,MAsBMsG,GAAY,CACd7O,QAAQ3a,EAAIgb,EAASrL,GACjB,MAAMigD,EAAgC,iBAAlB50C,EAAQnvB,MAAqB,CAAEszC,QAASnkB,EAAQnvB,OAAUmvB,EAAQnvB,OAAS,CAAC,EAC1F6uB,EAAY5yB,OAAO4P,KAAKsjB,EAAQN,WAAa,CAAC,GAC9CuwB,EAAYvwB,EAAUxxB,MAAK2wD,GAAyB,UAAbA,IACvC8Y,GAAuE,IAA3Dj4C,EAAUuR,WAAU4tB,GAAyB,UAAbA,IAC9C5O,IACA2kB,EAAK3kB,UAAY2kB,EAAK3kB,WAAaA,GAEnC0nB,IACA/C,EAAKpjB,WAAuBriD,IAAfylE,EAAKpjB,OAAsBojB,EAAKpjB,OAE7C78B,EAAMjqB,OAASiqB,EAAMjqB,MAAMktE,cAC3BhD,EAAK3M,OAAS,YAAa/5C,GACvB,IAAItL,EACJ,OAA8B,QAAtBA,EAAK+R,EAAMjqB,aAA0B,IAAPkY,OAAgB,EAASA,EAAGg1D,eAAe1pD,EACrF,GAEAyG,EAAMjqB,OAASiqB,EAAMjqB,MAAMmtE,eAC3BjD,EAAK1M,QAAU,YAAah6C,GACxB,IAAItL,EACJ,OAA8B,QAAtBA,EAAK+R,EAAMjqB,aAA0B,IAAPkY,OAAgB,EAASA,EAAGi1D,gBAAgB3pD,EACtF,GAEAyG,EAAMjqB,OAASiqB,EAAMjqB,MAAMotE,gBAC3BlD,EAAK9M,SAAW,YAAa55C,GACzB,IAAItL,EACJ,OAA8B,QAAtBA,EAAK+R,EAAMjqB,aAA0B,IAAPkY,OAAgB,EAASA,EAAGk1D,iBAAiB5pD,EACvF,GAEAyG,EAAMjqB,OAASiqB,EAAMjqB,MAAMqtE,cAC3BnD,EAAK7M,OAAS,YAAa75C,GACvB,IAAItL,EACJ,OAA8B,QAAtBA,EAAK+R,EAAMjqB,aAA0B,IAAPkY,OAAgB,EAASA,EAAGm1D,eAAe7pD,EACrF,GAEAyG,EAAMjqB,OAASiqB,EAAMjqB,MAAMstE,eAC3BpD,EAAK5M,QAAU,YAAa95C,GACxB,IAAItL,EACJ,OAA8B,QAAtBA,EAAK+R,EAAMjqB,aAA0B,IAAPkY,OAAgB,EAASA,EAAGo1D,gBAAgB9pD,EACtF,GAEAlJ,EAAGsoC,aAAa,WAAasnB,EAAKzwB,UAClCywB,EAAKzwB,QAAUn/B,EAAGsoC,aAAa,SAC/BtoC,EAAG+mC,gBAAgB,UAEnB/mC,EAAGsoC,aAAa,aAAesnB,EAAKzwB,UACpCywB,EAAKzwB,QAAUn/B,EAAGsoC,aAAa,YAEnCqnB,GAAS3vD,EAAI4vD,EACjB,EACAvoC,UAAUrnB,GACFA,EAAGuwD,OACHvwD,EAAGuwD,OAAO/U,UAELx7C,EAAG0hD,QACR1hD,EAAG0hD,OAAOlG,SAElB,EACA5gC,QAAQ5a,EAAIgb,GACR,MAAM40C,EAAgC,iBAAlB50C,EAAQnvB,MAAqB,CAAEszC,QAASnkB,EAAQnvB,OAAUmvB,EAAQnvB,OAAS,CAAC,EAC5FmU,EAAGsoC,aAAa,WAAasnB,EAAKzwB,UAClCywB,EAAKzwB,QAAUn/B,EAAGsoC,aAAa,SAC/BtoC,EAAG+mC,gBAAgB,UAEnB/mC,EAAGsoC,aAAa,aAAesnB,EAAKzwB,UACpCywB,EAAKzwB,QAAUn/B,EAAGsoC,aAAa,YAE/BtoC,EAAGuwD,OACHvwD,EAAGuwD,OAAO1J,SAAS+I,GAAQ,CAAC,GAEvB5vD,EAAG0hD,QACR1hD,EAAG0hD,OAAOmF,SAAS+I,GAAQ,CAAC,EAEpC,IAaJqD,EAD0B1G,GAAMK,iBACd,CACdtK,kBAAkB,EAClBe,QAAS,CAACQ,GAAQD,GAAmBD,GAAcD,MAGvD,4BCx2II,IACIz8D,KAAM,kBACNvB,MAAO,CACHwtE,UAAW36D,OACX1M,MAAO0M,QAEXnS,KAAIA,KACO,CACH+sE,UAAU,EACV1pB,KAAIA,GAAAA,UAGZ9iB,QAAS,CACLysC,mBACI70D,KAAK0lB,MAAMkvC,UAAY50D,KAAK0lB,MAAMkvC,QACtC,ICpCZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sCDY5ClvC,EAAAkvC,UAAQ,KAAnBjqB,GAEM,MAAAU,GAAA,CADFT,GAAqG,eAA/FjlB,EAAAgvC,WAAY,IAAC,GAAA/pB,GAA8E,KAA1EkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAA0uC,kBAAA1uC,EAAA0uC,oBAAAlqD,OAAqB+a,EAAAwlB,KAAK51C,UAAU6B,gBAAgBsB,UAAQ,cAE9FkyC,GAEM,MAAAW,GAAA,CADFV,GAAiG,eAA3FjlB,EAAAr4B,OAAQ,IAAC,GAAAs9C,GAA8E,KAA1EkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAA0uC,kBAAA1uC,EAAA0uC,oBAAAlqD,OAAqB+a,EAAAwlB,KAAK51C,UAAU6B,gBAAgBuB,UAAQ,kDEW1EkyC,GAAW,SAAR,QAAI,MAKPA,GAAY,SAAT,SAAK,6BAyBxB,UACIliD,KAAM,QACNozB,WAAY,CACRkyC,MAAO/iC,IAEX9jC,MAAO,CACH6H,GAAIgL,QAERnS,KAAIA,KACO,CACH+lB,MAAM,EACNhlB,IAAK,GACLC,KAAM,GACNf,MAAO,GACPa,QAAS,GACTqsE,QAAQ,EACRC,YAAa,GACbC,YAAa,GACbhqB,KAAIA,GAAAA,UAGZrxB,MAAO,CACH7qB,KACIgR,KAAKm1D,YACT,GAEJ/4C,UACIpc,KAAKm1D,YACT,EACA/sC,QAAS,CACLgtC,eACIp1D,KAAK0lB,MAAMsvC,QAAUh1D,KAAK0lB,MAAMsvC,MACpC,EACA9sE,mBACI,MAAMI,QAAa+sE,EAAAA,GAAAA,GAAQr1D,KAAK2lB,OAAO32B,IACvCoO,QAAQk4D,IAAIhtE,GACZ,MAAMitE,cAAyBC,EAAAA,GAAAA,GAAMx1D,KAAK2lB,OAAO32B,KAAK1G,OACtD0X,KAAKi1D,YAAcM,EAAUE,aAAeF,EAAUE,aAAarrE,cAAgB,GACnF4V,KAAKrX,QAAUL,GAAQA,EAAKI,MAAQwiD,GAAAA,QAAK51C,UAAUlM,MAAM0P,aACzDkH,KAAKpX,IAAMN,GAAQA,EAAKM,KAAOsiD,GAAAA,QAAK31C,OAAOR,KAC3CiL,KAAKnX,KAAOP,GAAQA,EAAKO,MAAQqiD,GAAAA,QAAK31C,OAAOR,KAC7CiL,KAAKlY,MAAQQ,GAAQA,EAAKR,OAASojD,GAAAA,QAAK31C,OAAOR,KAC/CiL,KAAKk1D,YAAcK,EAAUG,KAAQ,GAAEH,EAAUG,SAASH,EAAUI,UAAYJ,EAAUI,QAC1F31D,KAAK4N,MAAO,CAChB,ICnGZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,0DDY5C8X,EAAA9X,MAAI,KAAf+8B,GA6BM,MAAAU,GAAA,CA5BFT,GAUI,UATAA,GAQQ,cAPJA,GAAwC,SAAAY,EAAlC9lB,EAAAwlB,KAAK51C,UAAUlM,MAAMyP,OAAQ,IAAC,QAAK+xC,GAA0C,KAAtCkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAivC,cAAAjvC,EAAAivC,gBAAAzqD,OAAiB+a,EAAA/8B,SAAO,MAC5EiiD,GAKE,QAJE93B,GAAG,cAEFwgB,MAAKuX,EAAA,uBAAyBnlB,EAAAuvC,eAC9Bz/D,MAAOkwB,EAAAwvC,oCAITxvC,EAAAsvC,QAAM,KAAjBrqB,GAgBM,MAAAY,GAAA,CAfFX,GAII,UAHAA,GAEQ,cADJa,GAAW,OAACD,EAAG9lB,EAAA98B,KAAG,OAG1BgiD,GAII,UAHAA,GAEQ,cADJc,GAAY,OAACF,EAAG9lB,EAAA78B,MAAI,OAG5B+hD,GAII,UAHAA,GAEQ,cADJA,GAA+C,SAAAY,EAAzC9lB,EAAAwlB,KAAK51C,UAAUlM,MAAMwP,cAAe,IAAC,MAAI,IAAC4yC,EAAG9lB,EAAA59B,OAAK,iCAKxE6iD,GAMM,MAAAgB,GAAA,CALFf,GAII,UAHAA,GAEQ,cADJA,GAAyC,SAAAY,EAAnC9lB,EAAAwlB,KAAK51C,UAAUlM,MAAMuP,SAAO,iJEhC1CiyC,GAAM,2FCCNA,GAAwC,KAArCtX,MAAM,4BAA0B,SAKvC,IACI5qC,KAAM,eACNvB,MAAO,CACHyuE,KAAM57D,OACNhN,KAAMgN,SCrBlB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDYvD2wC,GAGO,aAFHC,GAAmE,KAA/DH,KAAM9kB,EAAAiwC,KAAMxuE,OAAO,SAASyuE,IAAI,yBAAarqB,EAAQ7lB,EAAK34B,kBAC9Ds+C,SD8BJ,IACI5iD,KAAM,cACNygC,WAAY,CACR2sC,aAAYA,IAEhB3uE,MAAO,CACH6H,GAAIgL,OACJ+7D,SAAU/7D,QAEdnS,KAAIA,KACO,CACHiI,WAAY,GACZo7C,KAAIA,GAAAA,UAGZrxB,MAAO,CACH7qB,KACIgR,KAAKnD,MACT,EACAk5D,WACI/1D,KAAKnD,MACT,GAEJuf,UACIpc,KAAKnD,MACT,EACAurB,QAAS,CACLlgC,aACI8X,KAAK0lB,MAAM51B,WAAa,GACxB,MAAMimE,EAAW/1D,KAAK2lB,OAAOowC,SAC7B,GAAiB,KAAbA,EAAiB,CACjB,MAAM/mE,EAAKgR,KAAK2lB,OAAO32B,GACjBc,QAAmBkmE,EAAAA,GAAAA,GAAchnE,EAAI+mE,GAC3C,IAAK,MAAM3mE,KAAaU,EAAWd,GAC/BgR,KAAK0lB,MAAM51B,WAAWpB,KAAKw8C,GAAAA,QAAK51C,UAAU4B,YAAYS,UAAU1K,QAAQ,YAAamC,IACzF,IAAK,MAAMA,KAAaU,EAAWD,OAC/BmQ,KAAK0lB,MAAM51B,WAAWpB,KAAKw8C,GAAAA,QAAK51C,UAAU4B,YAAYU,cAAc3K,QAAQ,YAAamC,GACjG,CACJ,IGhFZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,gEHY/B,KAAbu2B,EAAAowC,UAAQ,KAAnBprB,GAwBM,MAAAU,GAAA,CAvBFC,GACiC,IAAtB5lB,EAAA51B,WAAWrF,QAAM,KAA5BkgD,GAMM,MAAAY,GAAA,SALFZ,GAIIsrB,GAAA,KAAAC,GAJcxwC,EAAA51B,YAARnD,SAAVg+C,GAII,UAHAC,GAEQ,cADJA,GAAiB,SAAAY,EAAX7+C,GAAI,yBAItBg+C,GAMM,MAAAc,GAAA,CALFb,GAII,UAHAA,GAEQ,cADJA,GAAkD,SAAAY,EAA5C9lB,EAAAwlB,KAAK51C,UAAU4B,YAAYO,YAAU,UAIvDmzC,GAOI,UANAA,GAKQ,cAJJkB,GAGgBqqB,EAAA,CAFXnpE,KAAM04B,EAAAwlB,KAAK51C,UAAU4B,YAAYQ,eAClCk+D,KAAK,wGIjBjBhrB,GAAI,uBACGtX,MAAM,QAAQC,MAAA,0DAgBzB,IACI7qC,KAAM,iBACNvB,MAAO,CAAEwR,QAAS9D,SAClBuzB,QAAS,CACLguC,aAAY,MACZ1rB,iBAAgB,MAChB2rB,WACI,MAAQ,iBAAer2D,KAAK2lB,OAAOhtB,QAAU,oBAAsB,GACvE,ICtCZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDYvDgyC,GAcM,YAbFC,GAAsE,MAAjEtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,IAAK,IAAK,eAC3DE,GAA+D,KAA3DtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,IAAK,eACrDW,GACAT,GAQQ,QARRU,GAQQ,CAPJV,GAMQ,sBALJD,GAIKsrB,GAAA,KAAAC,GAJe/vC,EAAAiwC,aAAa,EAAG,IAAzB/vD,SAAXskC,GAIK,MAJoCrjD,IAAK+e,GAAK,CAC/CukC,GAAiE,MAA5DtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,IAAK,eACtDE,GAAgE,MAA3DtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,GAAI,eACrDE,GAAiE,MAA5DtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,IAAK,8BAIlEE,GAA+D,KAA3DtX,MAAKuX,EAAE1kB,EAAAkwC,YAAa9iC,MAAKuX,EAAE3kB,EAAAukB,iBAAiB,IAAK,yBET9CpX,MAAM,yBCFRA,MAAM,kBACCA,MAAM,uBACPA,MAAM,0CAKJA,MAAM,mBAQvB,IACI5qC,KAAM,QACNvB,MAAO,CACHqO,MAAOwE,QAEXnS,KAAIA,KACO,CACHyuE,SAAS,IAGjBluC,QAAS,CACLmuC,OACIv2D,KAAK0lB,MAAM4wC,SAAU,CACzB,EACAxhE,QACIkL,KAAK0lB,MAAM4wC,SAAU,CACzB,EACAE,SACIx2D,KAAK0lB,MAAM4wC,SAAWt2D,KAAK0lB,MAAM4wC,OACrC,IC9CZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDYvD3rB,GAaM,OAbArX,MAAKuX,EAAA,SAAUnlB,EAAA4wC,QAAU,aAAe,OAC1C1rB,GAAoD,OAA/CtX,MAAM,mBAAoBwhC,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAqwC,QAAArwC,EAAAqwC,UAAA7rD,MACtCigC,GAUM,MAVNS,GAUM,CATFT,GAKS,SALTU,GAKS,CAJLV,GAEI,IAFJW,GAEIC,EADG7lB,EAAAnwB,OAAK,GAEZo1C,GAAoE,UAA5DtX,MAAM,SAAU,aAAYnN,EAAArxB,MAAQggE,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAqwC,QAAArwC,EAAAqwC,UAAA7rD,kBAEvDigC,GAEU,UAFVc,GAEU,CADN+qB,GAAavoC,EAAArI,OAAA,uBDiBzB,IACIn9B,KAAM,UACNygC,WAAY,CACRutC,MAAKA,IAETvvE,MAAO,CACHwvE,eAAgB3uE,MAChB4uE,WAAY58D,QAEhBnS,KAAIA,KACO,CACHqjD,KAAIA,GAAAA,UAGZ9iB,QAAS,CACLouC,SACIx2D,KAAK8lB,MAAM4wC,MAAMF,QACrB,IGtDZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,+DHYvDK,GAoBQC,EAAA,CAnBJjnD,IAAI,QACHra,MAAK,GAAKkwB,EAAAwlB,KAAK51C,UAAUgC,QAAQ9B,SAASkwB,EAAAwlB,KAAK51C,UAAUgC,QAAQpB,SAASjJ,QAAQ,WAAY04B,EAAAixC,4BAE/F,IAeQ,CAfRhsB,GAeQ,QAfRS,GAeQ,CAdJT,GAMQ,cALJA,GAIK,WAHDA,GAA0C,UAAAY,EAAnC9lB,EAAAwlB,KAAK51C,UAAUgC,QAAQrB,MAAI,GAClC20C,GAA2C,UAAAY,EAApC9lB,EAAAwlB,KAAK51C,UAAUgC,QAAQvB,OAAK,GACnC60C,GAA0C,UAAAY,EAAnC9lB,EAAAwlB,KAAK51C,UAAUgC,QAAQtB,MAAI,OAG1C40C,GAMQ,sBALJD,GAIKsrB,GAAA,KAAAC,GAJavwC,EAAAgxC,gBAAPI,SAAXpsB,GAIK,mBAHDA,GAEKsrB,GAAA,KAAAC,GAFea,GAATzpE,SAAXq9C,GAEK,WADDC,GAA6C,SAAAY,EAAvCl+C,GAAgBo4B,EAAAwlB,KAAK31C,OAAOR,MAAI,+FIbtD61C,GAAI,uCAIJA,GAAI,mBAcR,IACIliD,KAAM,sBACNygC,WAAY,CAAEutC,MAAK,GAAEZ,aAAYA,IACjCjuE,KAAIA,KACO,CACHqjD,KAAI,WACJ36C,MAAKA,GAAAA,IAGb63B,QAAS,CACLouC,SACIx2D,KAAK8lB,MAAM4wC,MAAMF,QACrB,IC1CZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oFDYvDK,GAWQC,EAAA,CAXDjnD,IAAI,QAASra,MAAOkwB,EAAAwlB,KAAK51C,UAAUkC,eAAehC,oBACrD,IAAwD,CAAxDo1C,GAAwD,OAAnD3J,UAAQvb,EAAAwlB,KAAK51C,UAAUkC,eAAe3B,kBAC3Cy1C,IAAI,OACJX,GAEIsrB,GAAA,KAAAC,GAFsBxwC,EAAAn1B,OAAK,CAApBjD,EAAOhG,UAAlBqjD,GAEI,KAF8BrjD,IAAKA,GAAG,CACtCsjD,GAAgB,SAAAY,EAAVlkD,GAAG,MAAO,MAAEsjD,GAA4B,QAAtB3J,UAAQ3zC,GAAK,OAAAi+C,eAEzCE,GACAb,GAGI,eAFGllB,EAAAwlB,KAAK51C,UAAUkC,eAAe1B,WAAY,IAC7C,GAAAg2C,GAAwEqqB,EAAA,CAA1DP,KAAK,qBAAqB5oE,KAAK,iBAA2B,iChB+G1EgqE,GAAW,CAAC,EAClB,IAAK,MAAMtiE,KAAaxD,GAAAA,QAChBA,GAAAA,QAAQwD,GAAWxB,wBAAuB8jE,GAAStiE,GAAaxD,GAAAA,QAAQwD,GAAWxB,uBAE3F,MAAM+L,GAAa,aAGbg4D,GAAoB/uE,UACtB,IAAK6tE,EAASznE,MAAM2Q,IAAa,OAAO82D,EAExC,MAAMzmE,QAAY87C,EAAAA,GAAAA,SAAM2qB,EAAU,KAElC,IAAKzmE,EAAIE,GAAI,MAAM,IAAI/I,MAEvB,MAAM6B,QAAagH,EAAIhH,OACvB,IAAKA,EAAKmH,OAAQ,MAAM,IAAIhJ,MAE5B,OAAO6B,EAAKmH,OAAO,GAAG5H,IAAG,EAG7B,IACIa,KAAM,SACNygC,WAAY,CACR+tC,gBAAe,GACfC,MAAK,GACLC,YAAW,GACXC,eAAc,GACdC,QAAO,GACPxB,aAAY,GACZyB,oBAAmBA,IAEvBz7C,WAAY,CACRkyC,MAAO/iC,IAEX9jC,MAAO,CACHqwE,UAAWx9D,OACXnS,KAAMmS,OACN48D,WAAY58D,OACZy9D,kBAAmBz9D,OACnB/G,YAAa4B,QACb6iE,GAAI19D,OACJ5N,UAAW4N,OACXrB,QAAS9D,SAEbhN,KAAIA,KACO,CACH0e,QAAQ,EACR7K,WAAY,GACZi8D,WAAY,GACZhB,eAAgB,GAChB7gE,UAAW,KACXxE,cAAa,KACb45C,KAAIA,GAAAA,UAGZrxB,MAAO,CACHhyB,OACImY,KAAKmrC,YACT,EACAusB,KACI13D,KAAK43D,UACT,EACAxrE,YACI4T,KAAK63D,iBACT,GAEJz7C,UACIpc,KAAKmrC,aACLnrC,KAAK43D,WACL53D,KAAK63D,iBACT,EACAzvC,QAAS,CACL0vC,iBACI93D,KAAK8lB,MAAMyxC,oBAAoBf,QACnC,EACAuB,yBACI,OAAO7sB,GAAAA,QAAK51C,UAAUpE,QAAQqH,cACzBtL,QAAQ,YAAa+S,KAAK2lB,OAAOixC,YACjC3pE,QAAQ,SAAqC,QAA3B+S,KAAK2lB,OAAOixC,WAAuB,UAAY,QACjE3pE,QAAQ,OAAmC,QAA3B+S,KAAK2lB,OAAOixC,WAAuB,KAAO,IACnE,EACAoB,uBACIh4D,KAAK8lB,MAAMwxC,QAAQd,QACvB,EACAtuE,aACI,OAAO,IAAI+H,SAAQX,IACf,MAAM2oE,EAAcA,KACZj4D,KAAK0lB,MAAMnf,OACXjX,IAGJ2O,WAAWg6D,EAAa,GAAG,EAE/BA,GAAa,GAErB,EACAC,oBAAoBvrE,EAAMgI,GACtB,MACMwjE,EAAiB,sBAEjBC,GADNzrE,EAAOA,EAAKnB,WAAWrB,QACOmE,MAHN,eAOxB,OAHI8pE,IAAkBzrE,EAAOyrE,EAAiB,IAC1CzrE,EAAK2B,MAAM6pE,KAAiBxrE,EAAOA,EAAKM,QAAQkrE,EAAgB,mBACrD,UAAXxjE,GAAiC,SAAXA,IAAmBhI,EAAOA,EAAKvC,eAClDuC,CACX,EACAzE,4BAA4BuR,EAAQ9E,EAAQjM,GACxC,MAAM2vE,QAAwBC,EAAAA,GAAAA,GAAU5vE,EAAMiM,GAExC4jE,SADaF,EAAgB/vE,QACdmH,QAAU,GAEzB+oE,EAAa,GACbC,EAAS,GACf,IAAK,MAAMj9D,KAAK/B,EACR+B,EAAE3T,MAAM4wE,EAAO/pE,KAAKsR,KAAKk4D,oBAAoB18D,EAAE3T,KAAM8M,IAE7D,IAAK,MAAM6G,KAAK+8D,EACR/8D,EAAE3T,MAAM2wE,EAAW9pE,KAAKsR,KAAKk4D,oBAAoB18D,EAAE3T,KAAM8M,IAGjE,MAAM+jE,EAAc,GACpB,IAAK,MAAM/rE,KAAQ8rE,EACVD,EAAWnuE,SAASsC,IACrB+rE,EAAYhqE,KAAK,CAAChG,EAAMiE,EAAM,OAGtC,IAAK,MAAMA,KAAQ6rE,EACVC,EAAOpuE,SAASsC,IACjB+rE,EAAYhqE,KAAK,CAAChG,EAAM,KAAMiE,IAItCqT,KAAK0lB,MAAMixC,eAAiB+B,CAChC,EACAxwE,mBACI,GAAyB,KAArB8X,KAAK2lB,OAAO99B,KAAa,OAG7BmY,KAAK0lB,MAAMhqB,WAAa,GACxBsE,KAAK0lB,MAAMiyC,WAAa,GAGxB,MAAMrwE,EAAM0Y,KAAK2lB,OAAOixC,WACxB,IAAI+B,EAAa34D,KAAK2lB,OAAOixC,WACzB5pE,EAAOgT,KAAK2lB,OAAO99B,KACX,UAARP,IACA0F,EAAQ,UAASA,IACjB2rE,EAAa,OAIjB,MAAMC,QAAiBxtB,EAAAA,GAAAA,SAAMp+C,EAAM2rE,GACnC,IAAKC,EAASppE,GAAI,MAAMopE,EACxB,MAAMtwE,QAAaswE,EAAStwE,OAM5B,GAHA0X,KAAK0lB,MAAMixC,eAAiB,IAGvBruE,EAAKmH,OAKN,OAJAuQ,KAAK0lB,MAAMnf,QAAS,EACpBvG,KAAK0lB,MAAMiyC,WAAa,GACxB33D,KAAK0lB,MAAMhqB,WAAa,QACxBm9D,GAAAA,GAAQznE,IAAI9J,EAAK,CAAC,GAKtB,IAAK,MAAMmS,KAAUnR,EAAKmH,OACtB,GAAIgK,EAAO5R,KAAKsL,WAAW,OAAQ,CAC/B,MAAM2lE,EAAQr/D,EAAO5R,KAAKoH,MAAM,KAC1BxE,EAASquE,EAAMruE,OAAS,EAAIkQ,OAAOm+D,EAAM,IAAM,EAOrD,GAJAA,EAAMn3D,OAAO,EAAG,GAChBm3D,EAAMn3D,OAAOlX,GAGM,QAAfkuE,GAAwBG,EAAMruE,OAAS,EAAG,CAC1C,MAAMsuE,EAAYp+D,OAAOm+D,EAAM,IAC/BA,EAAMn3D,OAAO,EAAG,GAIhB,MAAMw+B,EAAM24B,EAAMn3D,OAAO,EAAGo3D,GACvB9uE,KAAI8P,GAAQC,OAAOg/D,aAAat2D,SAAS3I,EAAM,OAAMtN,KAAK,IAAItC,OAC9D8C,QAAQ,cAAe,IAGtBK,EAAQwrE,EAAM7uE,KAAI8P,GAAQC,OAAOg/D,aAAat2D,SAAS3I,EAAM,OAAMtN,KAAK,IAAItC,OAGlFsP,EAAO5R,KAAQ,GAAEs4C,MAAQ7yC,KACzB,QACJ,CAGAmM,EAAO5R,KAAOixE,EAAM7uE,KAAI8P,GAAQC,OAAOg/D,aAAat2D,SAAS3I,EAAM,OAAMtN,KAAK,IAAItC,MACtF,CAIJ6V,KAAKi5D,sBAAsB3wE,EAAKmH,OAAQkpE,EAAY3rE,GAAMqV,OAG1D,MAAM9H,EAAgB,CAAC,GAEvB2+D,EAAAA,GAAAA,GAAmB5xE,EAAKgB,EADG,CAAC,EACsBiS,EAAe,SACjEyF,KAAK0lB,MAAMhqB,WAAanS,OAAO4P,KAAKoB,GACpC,MAAMqB,GAAoBu9D,EAAAA,GAAAA,GAAqB5vE,OAAOqD,OAAO2N,IAG7D,IAAIo9D,EAAa,GACjB,IAAK,IAAI92D,EAAI,EAAGA,EAAIjF,EAAmBiF,IAAK,CACxC,IAAIk2D,EAAM,GACV,IAAK,MAAMqC,KAAiBp5D,KAAK0lB,MAAMhqB,WAAY,CAC/C,MAAM7T,EAAO,CACT+E,OAAQ,CAAC,CACLnE,OAAQ8R,EAAc6+D,GAAev4D,MAG7C,QAA8BjV,IAA1B/D,EAAK+E,OAAO,GAAGnE,QAA0C,SAAlB2wE,EAA0B,CACjEvxE,EAAK+E,OAAO,GAAGnE,OAASuuE,GAAS2B,GAAc3B,GAAS2B,GAAY9wE,EAAK+E,OAAO,GAAGnE,QAAUZ,EAAK+E,OAAO,GAAGnE,OAE5G,MAAM4wE,EAAexxE,EAAK+E,OAAO,GAAGnE,OAAO+C,WAAWyD,MAAM,OAC5D,IAAIqqE,EACJ,IAAK,MAAMC,KAAaF,EAAc,CAClC,IAAIt/D,EAAOw/D,EAEX,GAAY,QAARjyE,EAAe,CAEf,IAAIqtE,EADJ2E,EAASv/D,EAAK9K,MAAM,SAGhB0lE,EADA2E,EAAO7uE,OAAS,EACW,MAAd6uE,EAAO,IAA4B,SAAdA,EAAO,GAAkB,GAAEA,EAAO,MAAMA,EAAO,KAAOA,EAAO,GAEnFv/D,EAAK3G,OAAO,EAAG,IAE3BomE,GAAAA,EAAa7E,KAAY9sE,EAAK+M,YAAc4kE,GAAAA,EAAa7E,IACzD56D,EAAKtP,OAAS,KAAI5C,EAAK+E,OAAO,GAAG+nE,UAAYA,GAC/B,WAAdA,IACA9sE,EAAKkgD,OAAS,CACV6tB,KAAO,2DAA0D5oE,IACjEA,KAAM,mCAGlB,MAAO,GAAY,UAAR1F,EAAiB,CACxB,MACMmyE,EADQ1/D,EAAK9K,MAAM,KACI,GAAG9E,OAC5BuvE,GAAAA,EAAeD,KAAiB5xE,EAAK+M,YAAc8kE,GAAAA,EAAeD,GAC1E,CACJ,CACIz5D,KAAK2lB,OAAO1yB,cACZpL,EAAK+E,OAAO,GAAGoC,SAAWioE,GAAkBpvE,EAAK+E,OAAO,GAAGnE,QAC3DZ,EAAK+E,OAAO,GAAGmpE,SAAWluE,EAAK+E,OAAO,GAAGnE,OACrCZ,EAAK+E,OAAO,GAAGoC,KAAOnH,EAAK+E,OAAO,GAAGnE,SACrCZ,EAAK+E,OAAO,GAAGnE,OAAU,GAAEZ,EAAK+E,OAAO,GAAGmpE,aAAaluE,EAAK+E,OAAO,GAAGoC,OAGlF,KAA6B,SAAlBoqE,EAEM,MADAvxE,EAAK+E,OAAO,GAAGnE,OAAOZ,EAAK+E,OAAO,GAAGnE,OAAOgC,OAAS,KAChD5C,EAAK+E,OAAO,GAAGnE,OAASZ,EAAK+E,OAAO,GAAGnE,OAAO4K,MAAM,GAAI,IAE1ExL,EAAK+E,OAAO,GAAGnE,OAASZ,EAAK+E,OAAO,GAAGnE,OAASZ,EAAK+E,OAAO,GAAGnE,OAAU,KAG7EsuE,EAAIroE,KAAK7G,EACb,CACA8vE,EAAWjpE,KAAKqoE,EACpB,CAEA,GAAY,QAARzvE,EAAe,CACf,MAAMqyE,EAAa,CAAC,EACpB,IAAK,MAAM5C,KAAOY,EAAY,CAC1B,MAGMiC,EAAW,GAHJ7C,EAAI,GAAGnqE,OAAO,GAAGnE,UAClBsuE,EAAI,GAAGnqE,OAAO,GAAGnE,UACfsuE,EAAI,GAAGnqE,OAAO,GAAG+nE,YAE3BgF,EAAWC,GAAUD,EAAWC,GAASlrE,KAAKqoE,GAC7C4C,EAAWC,GAAW,CAAC7C,EAChC,CACAY,EAAa,GACb,IAAK,MAAMkC,KAActwE,OAAOqD,OAAO+sE,GAAa,CAChD,MAAMzwE,EAAQ2wE,EAAWryB,QACzB,IAAK,MAAMl6C,KAASusE,EAChB3wE,EAAM,GAAG0D,OAAO8B,KAAKpB,EAAM,GAAGV,OAAO,IAEzC+qE,EAAWjpE,KAAKxF,EACpB,CACJ,CAEA8W,KAAK0lB,MAAMiyC,WAAaA,EACxB33D,KAAK0lB,MAAMnf,QAAS,EACpBsyD,GAAAA,GAAQznE,IAAI9J,EAAKgB,EACrB,EACA8I,IAAI0oE,EAAQ1tE,GACR,MAAMnC,EAAMmC,EAAY2tE,GAAAA,EAAkBC,GAAAA,EACpCniE,EAAWoiE,GAAAA,EAAgBhwE,EAAI0T,IAAIm8D,IACjB,iBAAbjiE,EACPmI,KAAK0lB,MAAM5vB,UAAY+B,EAEnBA,EAASmI,KAAK2lB,OAAOixC,cAAa52D,KAAK0lB,MAAM5vB,UAAY+B,EAASmI,KAAK2lB,OAAOixC,YAE1F,EACA1uE,wBACI,GAA+B,OAA3B8X,KAAK2lB,OAAOixC,WAAqB,CACjC52D,KAAK0lB,MAAM5vB,UAAY,KACvB,IAAK,MAAMgkE,KAAUC,GAAAA,EAAgB5gE,OACjC,GAAI6G,KAAK2lB,OAAOv5B,UAAUkC,MAAMwrE,GAAS,OAAO95D,KAAK5O,IAAI0oE,GAAQ,EAEzE,CACJ,EACA5xE,iBACI,GAA+B,OAA3B8X,KAAK2lB,OAAOixC,WAAqB,CACjC52D,KAAK0lB,MAAM5vB,UAAY,KACvB,MAAM4hE,EAAK13D,KAAK2lB,OAAO+xC,GAEvB,IAAK,MAAMoC,KAAUE,GAAAA,EAAS7gE,OAC1B,GAAIu+D,EAAGppE,MAAMwrE,GAAS,OAAO95D,KAAK5O,IAAI0oE,EAE9C,CACJ,EACAI,oBACIl6D,KAAKkmB,MAAM,qBACf,IkBrcZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,iNlBYvDykB,GA8FM,YA7FSjlB,EAAAnf,QAAM,KAAjBokC,GAuFM,MAAAU,GAAA,CAtFFT,GAKK,MALA93B,GAAE,GAAK6S,EAAAixC,qBAAsBtjC,MAAM,oBACjC3N,EAAAixC,YAAa,IAACprB,EAAG9lB,EAAAwlB,KAAK31C,OAAOrE,SAAU,IAC1C,GAAA05C,GAEI,KAFAH,KAAI,IAAM9kB,EAAAixC,sCAIlBhsB,GAGI,UAFAA,GAAwC,QAAlC3J,UAAQtb,EAAA8xC,mBAAiB,OAAA9rB,IAC/BG,GAA2EqqB,EAAA,CAA5DP,KAAMjwC,EAAA6xC,UAAYxqE,KAAM04B,EAAAwlB,KAAK51C,UAAUpE,QAAQ4E,qCAEjC,IAAtB4vB,EAAAhqB,WAAWjR,QAAM,KAA5BkgD,GAGM,MAAAiB,GAAA,CAFFhB,GAAoD,UAAjDA,GAA6C,SAAAY,EAAvC9lB,EAAAwlB,KAAK51C,UAAUpE,QAAQiH,WAAS,KACjB,QAAfwtB,EAAAixC,YAAuC,SAAfjxC,EAAAixC,YAAU,KAA3CjsB,GAA8F,WAAtC1J,UAAQ9a,EAAA4xC,6DAEpEptB,GA0DM,MAAAwvB,GAAA,CAzDsB,UAAfx0C,EAAAixC,YAAU,KAAnBjsB,GAEI,IAAAyvB,GAAA,CADAxvB,GAA2E,KAAvEkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAA2xC,gBAAA3xC,EAAA2xC,kBAAAntD,OAAmB+a,EAAAwlB,KAAK51C,UAAUpE,QAAQsH,iBAAe,oBAExEoyC,GAqDM,MArDNyvB,GAqDM,CApDFzvB,GAmDQ,QAnDR0vB,GAmDQ,CAlDJ1vB,GAYQ,cAXJA,GAUK,mBATDD,GAQKsrB,GAAA,KAAAC,GARmBxwC,EAAAhqB,YAAbhH,SAAXi2C,GAQK,gBAPEj2C,GAAY,IACf,GACUA,KAAagxB,EAAAp0B,cAAa,SADpCq5C,GAKK,WAFAn1C,MAAOkwB,EAAAp0B,cAAcoD,GACtB4+B,MAAM,+EAKtBsX,GAoCQ,sBAnCJD,GAkCKsrB,GAAA,KAAAC,GAlCaxwC,EAAAiyC,YAAPZ,SAAXpsB,GAkCK,mBAjCDA,GAgCKsrB,GAAA,KAAAC,GAhCmBa,GAAbwD,SAAX5vB,GAgCK,mBA/BDA,GAiBMsrB,GAAA,KAAAC,GAjBeqE,EAAU3tE,QAAnBU,SAAZq9C,GAiBM,YAhBSr9C,EAAMqnE,WAAS,KAA1BhqB,GAKM,MAAA6vB,GAAA,CAJF1uB,GAGE2uB,EAAA,CAFGntE,MAAOA,EAAM7E,OACbksE,UAAWrnE,EAAMqnE,kDAG1BhqB,GASM,MAAA+vB,GAAA,MARCptE,EAAM7E,QAAS,IAClB,GAAW6E,EAAMyoE,UAAQ,KAAzBprB,GAMM,MAAAgwB,GAAA,CALFC,GACA9uB,GAA8B+uB,EAAA,CAAtB7rE,GAAI1B,EAAM0B,mBACQ,OAAf22B,EAAAixC,YAAU,KAArBjsB,GAEM,MAAAmwB,GAAA,CADFhvB,GAA2FivB,EAAA,CAA7E/rE,GAAI1B,EAAM0B,GAAK+mE,SAAUzoE,EAAMyoE,SAAWzoE,EAAMyoE,SAAW,8EAK9EwE,EAAU3lE,aAAW,KAAhC+1C,GAOM,MAAAqwB,GAAA,CANFC,GACArwB,GAII,UAHAA,GAEQ,cADJA,GAAsC,KAAnC3J,UAAQs5B,EAAU3lE,6CAKvB2lE,EAAUxyB,QAAM,KAD1B4C,GAIgC,WAF3BF,KAAM8vB,EAAUxyB,OAAO6tB,KACxBtiC,MAAM,+BACNinC,EAAUxyB,OAAO/6C,MAAI,EAAAkuE,KAAA,6CAOjDtwB,GAEI,IAFJuwB,GAEI,CADAvwB,GAA0E,KAAtEkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAA+zC,mBAAA/zC,EAAA+zC,qBAAAvvD,OAAsB+a,EAAAwlB,KAAK51C,UAAUpE,QAAQkH,aAAW,KAElC,IAA1BstB,EAAAixC,eAAelsE,QAAM,KAAhCkgD,GAGM,MAAAywB,GAAA,CAFFxwB,GAA+F,UAA5FA,GAAwF,KAApFkqB,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAA6xC,sBAAA7xC,EAAA6xC,wBAAArtD,MAAsBigC,GAAmD,SAAAY,EAA7C9lB,EAAAwlB,KAAK51C,UAAUpE,QAAQoH,iBAAe,OAChFwzC,GAA6FuvB,EAAA,CAApFxrD,IAAI,UAAW,kBAAiB6V,EAAAixC,eAAiB,cAAahxC,EAAAixC,uEAElElxC,EAAA5vB,WAAS,KAAlB60C,GAKI,IALJ2wB,GAKI,CAJAxvB,GAGgBqqB,EAAA,CAFXP,KAAMlwC,EAAA5vB,UACN9I,KAAM04B,EAAAwlB,KAAK51C,UAAUpE,QAAQmH,SAASpL,QAAQ,WAAY04B,EAAAixC,+DAIvEjsB,GAEM,MAAA4wB,GAAA,CADFzvB,GAAoD0vB,EAAA,CAAnC7iE,QAASgtB,EAAAhtB,SAAO,uBAErC8iE,GACA3vB,GAAqE4vB,EAAA,CAAhD7rD,IAAI,uBAAqB,iEmB7FtD,GAAe7iB,IACX,MAAM2uE,EAAa,2BACbC,EAAQ,GACd,OAAS,CACL,MAAMttE,EAAQtB,EAAKsB,MAAMqtE,GACzB,IAAKrtE,EAAO,MACZ,MAAMutE,EAAe7uE,EAAKiC,MAAMX,EAAM,IACtCstE,EAAMltE,KAAKmtE,EAAa,IACxBD,EAAMltE,KAAK,CAACJ,EAAM,GAAIA,EAAM,KAC5BtB,EAAO6uE,EAAa,EACxB,CAEA,OADAD,EAAMltE,KAAK1B,GACJ4uE,CACV,ECGG,IAAIhF,GAAYkF,GAChB,MAKMl7B,GAAUA,IAAMsK,GAAAA,QAAK51C,UAAU8B,iBAAiBS,SAAS5K,QAAQ,eALtD8uE,MACb,MAAMnG,EAAO,0BACb,OAAKgB,IAAekF,GACZ,GAAElG,KAAQgB,GAAWx9D,iBAAiB0iE,KADPlG,CACkB,EAE0BmG,IAEvF,IACIrzE,KAAM,mBACNygC,WAAY,CACR2sC,aAAY,GACZY,MAAKA,IAET7uE,KAAIA,KACO,CACHgQ,SAAU+oC,KACVsK,KAAIA,GAAAA,UAGZ9iB,QAAS,CACL4zC,aAAahvE,GACFivE,GAAcjvE,GAEzBkvE,QAAQC,EAAeC,GACnBxF,GAAauF,EACbL,GAAaM,EACbp8D,KAAK0lB,MAAM7tB,SAAW+oC,IAC1B,EACA41B,SACIx2D,KAAK8lB,MAAM4wC,MAAMF,QACrB,ICrBR,IACI9tE,KAAM,aACNygC,WAAY,CACRkzC,OAAM,GACNC,kBC1CqB,QAAgB,GAAQ,CAAC,CAAC,oFFYvDzF,GAOQC,EAAA,CAPDjnD,IAAI,QAASra,MAAOkwB,EAAAwlB,KAAK51C,UAAU8B,iBAAiB5B,oBACjD,IAAsC,SAA5Cm1C,GAKOsrB,GAAA,KAAAC,GALc/vC,EAAA61C,aAAat2C,EAAA7tB,WAArBkC,SAAb4wC,GAKO,aAJyB,iBAAT5wC,GAAI,KAAvB4wC,GAA2D,cAArB1J,UAAQlnC,qBAC9C4wC,GAEO,OAAAW,GAAA,CADHQ,GAA6DqqB,EAAA,CAA9CnpE,KAAM+M,EAAK,GAAK67D,KAAM77D,EAAK,oEC4BlD5S,MAAO,CACHU,KAAMmS,OACN5N,UAAW4N,OACXrB,QAAS9D,QACT0nE,YAAa1nE,SAEjBhN,KAAIA,KACO,CACHqJ,QAASsrE,GAAAA,EACT9E,GAAI,KAGZ79C,MAAO,CACHhyB,OACImY,KAAKy8D,aACT,GAEJr0C,QAAS,CACLlgC,oBACI,GAAyB,KAArB8X,KAAK2lB,OAAO99B,KAAa,OAE7B,MAAMS,cAAoB8iD,EAAAA,GAAAA,SAAMprC,KAAK2lB,OAAO99B,KAAM,OAAOS,OACzD0X,KAAK0lB,MAAMgyC,GAAKpvE,EAAKmH,OAASnH,EAAKmH,OAAO,GAAG5H,KAAO,EACxD,EACAK,aACI,MAAMyH,EAAW,GACjB,IAAK,MAAMgF,KAAUqL,KAAK0lB,MAAMx0B,QAAS,CACrC,MAAM2e,EAAM7P,KAAK8lB,MAAMnxB,EAAOjM,MAAM,GACpCmnB,EAAI6V,MAAMnf,QAAS,EACnB5W,EAASjB,KAAKmhB,EAAI6sD,OACtB,OACMzsE,QAAQC,IAAIP,EACtB,EACAgtE,YAAY/F,GACR52D,KAAK8lB,MAAMw2C,iBAAiBJ,QAAQtF,EAAY52D,KAAK2lB,OAAO99B,MAC5DmY,KAAK8lB,MAAMw2C,iBAAiB9F,QAChC,IEhFN,IAA2B,QAAgB,GAAQ,CAAC,CAAC,yFFYvD7rB,GAiBM,YAhBFmB,GAA4D8wB,EAAA,CAA1C/sD,IAAI,oBAAkB,kBACxC86B,GAcMsrB,GAAA,KAAAC,GAdgBxwC,EAAAx0B,SAAVyD,SAAZg2C,GAcM,YAbFmB,GAYE+wB,EAAA,YAXGhtD,IAAKlb,EAAOjM,KACZgvE,GAAIhyC,EAAAgyC,GACJtrE,UAAW8hC,EAAAvI,OAAOv5B,UAClB,cAAauI,EAAOjM,KACpB,aAAYiM,EAAO3B,IACnB,qBAAoB2B,EAAOC,YAC3B/M,KAAMqmC,EAAAvI,OAAO99B,KACb,eAAc8M,EAAO1B,YACrB0F,QAASu1B,EAAAvI,OAAOhtB,QAChB46B,MAAKuX,EAAA,CAAAjC,QAAYljB,EAAA42C,YAAc,OAAS,YACxCO,oBAAkBC,GAAE52C,EAAAw2C,YAAYhoE,EAAOjM,iKExBxD,oBCYYkiD,GAAe,SAAZ,YAAQ,wCCSnB,IACIliD,KAAM,sBACNvB,MAAO,CACH8jD,OAAQp2C,SAEZhN,KAAIA,KACO,CACHqJ,QAASsrE,GAAAA,IAGjBp0C,QAAS,CAAEsiB,iBAAgBA,GAAAA,KDC/B,IACIhiD,KAAM,cACNygC,WAAY,CACR6zC,qBErCqB,QAAgB,GAAQ,CAAC,CAAC,2CDYvDryB,GAIM,YAHFC,GAEI,kBADAD,GAAiJsrB,GAAA,KAAAC,GAA/HxwC,EAAAx0B,SAAL8M,SAAb2sC,GAAiJ,QAAtHrX,MAAM,gBAAiBC,MAAKuX,EAAA,IAAO3kB,EAAAukB,iBAAiB,GAAI,KAAL7B,QAAA,eAAAkC,YAAA,qCDyBlF5jD,MAAO,CACH8jD,OAAQp2C,QACR8D,QAAS9D,SAEbhN,KAAIA,KACO,CACHqJ,QAASsrE,GAAAA,EACTtxB,KAAIA,GAAAA,WG9Cd,IAA2B,QAAgB,GAAQ,CAAC,CAAC,wEHY5CvlB,EAAAslB,QAAM,KAAjBN,GAWM,MAAAU,GAAA,CAVFT,GASI,UARAU,IAAe,OACfX,GAMOsrB,GAAA,KAAAC,GANgBxwC,EAAAx0B,SAAVyD,SAAbg2C,GAMO,aALHC,GAIK,KAHAH,KAAI,IAAM91C,EAAOjM,eAClB4qC,MAAM,wBACNkY,EAAgD,GAArC72C,EAAOjM,QAAQg9B,EAAAwlB,KAAK31C,OAAOrE,6CAKtDy5C,GAEM,MAAAc,GAAA,CADFK,GAA8DmxB,EAAA,CAAxCtkE,QAASgtB,EAAAhtB,SAAO,2BGvB9C,+BCYkB26B,MAAM,sBAIXA,MAAM,qCAQf,IACI5qC,KAAM,iBACNygC,WAAY,CACRutC,MAAKA,IAET7uE,KAAIA,KACO,CACHq1E,WAAY,GACZhyB,KAAIA,GAAAA,UAGZ9iB,QAAS,CACL6gC,KAAKiU,GACDl9D,KAAK0lB,MAAMw3C,WAAaA,EACxBl9D,KAAK8lB,MAAM4wC,MAAMF,QACrB,EACArM,OACInqD,KAAK8lB,MAAM4wC,MAAMF,QACrB,EACA2G,aACIn9D,KAAK8lB,MAAM4wC,MAAMF,SACjBx2D,KAAKkmB,MAAM,cACf,IC9CZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,+DDYvD2wC,GAOQC,EAAA,CAPDjnD,IAAI,QAASra,MAAOkwB,EAAAwlB,KAAK51C,UAAUiC,eAAe5B,8BACrD,IAII,CAJJi1C,GAII,UAHAA,GAEO,OAFPS,GAEOG,EADA9lB,EAAAwlB,KAAK51C,UAAUiC,eAAe3B,mBAAiB,KAG1Dg1C,GAAkF,MAAlFU,GAAkF,CAAnCV,GAA6B,YAAAY,EAApB9lB,EAAAw3C,YAAU,8BEoBhExhE,GAAanS,OAAO4P,KAAKikE,GAAAA,SAE/B,IACI10E,KAAM,uBACNygC,WAAY,CACRk0C,eAAc,GACd3G,MAAKA,IAET7uE,KAAIA,KACO,CACHqjD,KAAI,WACJxvC,gBAGR0sB,QAAS,CACLouC,SACIx2D,KAAK8lB,MAAM4wC,MAAMF,QACrB,EACA8G,SAAStwE,EAAMuwE,GACX,MAAM/hE,EAAI6E,SAAS4vB,cAAc,KACjC5vB,SAAS8jC,KAAK/C,YAAY5lC,GAC1B,MAAMxI,EAAMzM,OAAOi3E,IAAIC,gBAAgB,IAAIC,KAAK,CAAC1wE,GAAO,CAACqC,KAAM,8BAC/DmM,EAAEivC,KAAOz3C,EACTwI,EAAE8hE,SAAWC,EACb/hE,EAAEmiE,QACFp3E,OAAOi3E,IAAII,gBAAgB5qE,GAC3BwI,EAAEgG,QACN,EACAq8D,oBACI,MAAM93C,EAAOx8B,OAAO4P,KAAK6G,KAAK8lB,OACxBzsB,EAAiB,GACvB,IAAK,MAAMwH,KAAKklB,EACF,mBAANllB,GAAgC,UAANA,GAChBb,KAAK8lB,MAAMjlB,GAAG,GAClBi9D,SAASzkE,EAAe3K,KAAKmS,GAE3C,OAAOxH,CACX,EACAvB,gBAAgBimE,GACZ,MAAM1kE,EAAiB2G,KAAK69D,oBACtBX,EAAaa,GAAKC,EAAAA,GAAAA,IAAiB3kE,IAAkB4kE,EAAAA,GAAAA,IAAmB5kE,GAC9E2G,KAAKs9D,SAASJ,EAAa,YAAUa,EAAK,KAAO,OACrD,EACAG,YAAYH,GACR,MAAM1kE,EAAiB2G,KAAK69D,oBACtBX,EAAaa,GAAKC,EAAAA,GAAAA,IAAiB3kE,IAAkB4kE,EAAAA,GAAAA,IAAmB5kE,GACxE8kE,EAAW99D,SAAS4vB,cAAc,YACxC5vB,SAAS8jC,KAAK/C,YAAY+8B,GAC1BA,EAAS7wE,MAAQ4vE,EACjBiB,EAASC,SACT/9D,SAASg+D,YAAY,QACrBF,EAAS38D,SACTxB,KAAK8lB,MAAMu3C,eAAepU,KAAKiU,GAC/Bl9D,KAAK8lB,MAAM4wC,MAAMF,QACrB,IC1FZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sFDYvD7rB,GAgBM,YAfFmB,GAaQgrB,EAAA,CAbDjnD,IAAI,QAASra,MAAOkwB,EAAAwlB,KAAK51C,UAAU+B,qBAAqBS,8BACtD,IAAyB,SAA9B6yC,GAGMsrB,GAAA,KAAAC,GAHaxwC,EAAAhqB,YAAPpU,SAAZqjD,GAGM,YAFFC,GAAmE,SAA3D93B,GAAE,aAAexrB,eAAQuoB,IAAKvoB,EAAK+H,KAAK,WAAWyuE,QAAA,eAC3DlzB,GAA4E,SAApEjnB,IAAG,aAAer8B,OAAUA,GAAM,IAACkkD,EAAG9lB,EAAAwlB,KAAK31C,OAAOrE,SAAO,EAAAo6C,eAErEV,GACkE,KAD/DtX,MAAM,0BAA0BC,MAAA,sBAA0BuhC,QAAKC,EAAA,KAAAA,EAAA,GAAAgI,GAAE52C,EAAAruB,iBAAgB,OAC7E4tB,EAAAwlB,KAAK51C,UAAU+B,qBAAqBU,kBAAgB,GAC3D6yC,GAC8D,KAD3DtX,MAAM,0BAA0BC,MAAA,sBAA0BuhC,QAAKC,EAAA,KAAAA,EAAA,GAAAgI,GAAE52C,EAAA+3C,aAAY,OACzEx4C,EAAAwlB,KAAK51C,UAAU+B,qBAAqBW,cAAY,GACvD4yC,GAC4D,KADzDtX,MAAM,0BAA0BC,MAAA,sBAA0BuhC,QAAKC,EAAA,KAAAA,EAAA,GAAAgI,GAAE52C,EAAAruB,iBAAgB,OAC7E4tB,EAAAwlB,KAAK51C,UAAU+B,qBAAqBY,YAAU,GACrD2yC,GACwD,KADrDtX,MAAM,0BAA0BC,MAAA,sBAA0BuhC,QAAKC,EAAA,KAAAA,EAAA,GAAAgI,GAAE52C,EAAA+3C,aAAY,OACzEx4C,EAAAwlB,KAAK51C,UAAU+B,qBAAqBa,QAAM,wBAErD4zC,GAA4EwyB,EAAA,CAA5DzuD,IAAI,iBAAkB0uD,aAAap4C,EAAAqwC,uEENvD,UACI9tE,KAAM,aACNygC,WAAY,CACRutC,MAAKA,IAETvvE,MAAO,CACHq3E,QAASxkE,QAEbnS,KAAIA,KACO,CACHqjD,KAAIA,GAAAA,UAGZ9iB,QAAS,CACLmuC,OACIv2D,KAAK8lB,MAAM4wC,MAAMH,MACrB,ICnCZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,+DDYvDM,GAEQC,EAAA,CAFDjnD,IAAI,QAASra,MAAOkwB,EAAAwlB,KAAK51C,UAAUiH,WAAW/G,oBACjD,IAAmC,CAAnCo1C,GAAmC,OAA9B3J,UAAQ/S,EAAAvI,OAAO64C,iDEDnBlrC,MAAM,cACFA,MAAM,iBAEAmX,KAAK,OAAOnX,MAAM,oDCCrC,GCHA,CAAiBh+B,UCCjB,CAAiBgH,OCHjB,CACImiE,UAAW,eDEUC,QEHzB,CACIC,OAAQ,8BLwBR,IACIj2E,KAAM,SACNygC,WAAY,CACR2sC,aAAYA,IAEhB3uE,MAAO,CACH6F,KAAMgN,QAEVnS,KAAIA,KACO,CACHqjD,KAAIA,KAGZ9iB,QAAS,CACL6zC,cAAaA,KM/BrB,IACIvzE,KAAM,YACNygC,WAAY,CACRy1C,QCtBqB,QAAgB,GAAQ,CAAC,CAAC,sEPYvDj0B,GAgBM,MAhBNU,GAgBM,CAfFT,GAcM,MAdNU,GAcM,CAbFV,GAEI,UADAA,GAA2F,IAA3FW,GAA2FC,EAAtC9lB,EAAAwlB,KAAK51C,UAAUgH,OAAOmiE,WAAS,KAExF7zB,GASI,kBARAD,GAOOsrB,GAAA,KAAAC,GAPc/vC,EAAA81C,cAAct2C,EAAA34B,OAAtB+M,SAAb4wC,GAOO,aANyB,iBAAT5wC,GAAI,KAAvB4wC,GAEO,OAAAc,GAAAD,EADAzxC,GAAI,UAEX4wC,GAEO,OAAAe,GAAA,CADHI,GAA6DqqB,EAAA,CAA9CnpE,KAAM+M,EAAK,GAAK67D,KAAM77D,EAAK,qDMC1DlS,KAAIA,KACO,CACHqjD,KAAIA,GAAAA,WExBpB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,mEFYvD2rB,GAA4CgI,EAAA,CAAnC7xE,KAAM04B,EAAAwlB,KAAK51C,UAAUgH,OAAOH,6BGY7ByuC,GAAsD,SAA/CjnB,IAAI,cAAc2P,MAAM,UAAS,UAAM,MAC9CsX,GAA6B,KAA1BtX,MAAM,iBAAe,0CCb3BA,MAAM,cACFA,MAAM,6BAQEA,MAAM,uBAGNA,MAAM,WASvB,IACI5qC,KAAM,SACNvB,MAAO,CACHqO,MAAOwE,QAEXnS,KAAIA,KACO,CACHi3E,QAAU,GAAEv4E,OAAOw4E,SAASC,aAAaz4E,OAAOw4E,SAAS9oE,OAAO1P,OAAOw4E,SAASE,aAGxF72C,QAAS,CACL82C,gBACIl/D,KAAKkmB,MAAM,aACf,IC5CZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDYvDykB,GAiBM,MAjBNU,GAiBM,CAhBFT,GAeM,MAfNU,GAeM,CAdFV,GAIM,YAHFA,GAA2C,WAAvCA,GAAkC,KAA9BH,KAAM/kB,EAAAo5C,SAAOtzB,EAAK7lB,EAAAnwB,OAAK,EAAA+1C,MAC/BX,GAAyC,WAArC6rB,GAAgCvoC,EAAArI,OAAA,iBACpC4wC,GAA2BvoC,EAAArI,OAAA,YAG/B+kB,GAOO,QAPDu0B,aAAa,KAAMC,SAAMrK,EAAA,KAAAA,EAAA,GAAAsK,IAAA,IAAA10D,IAAUwb,EAAA+4C,eAAA/4C,EAAA+4C,iBAAAv0D,IAAa,gBAClDigC,GAEM,MAFNa,GAEM,CADFgrB,GAA0BvoC,EAAArI,OAAA,WAE9B+kB,GAEM,MAFNc,GAEM,CADF+qB,GAA4BvoC,EAAArI,OAAA,0BDoBtCi5C,GAAW,GAAEv4E,OAAOw4E,SAASC,aAAaz4E,OAAOw4E,SAAS9oE,OAAO1P,OAAOw4E,SAASE,WAEvF,IACIv2E,KAAM,YACNygC,WAAY,CACRm2C,OAAMA,IAEVn4E,MAAO,CACHqO,MAAOwE,OACPulE,SAAUvlE,OACVwlE,UAAWxlE,QAEfnS,OACI,MAAO,CACHqjD,KAAI,WACJ4zB,WACAhhE,EAAGkC,KAAK2lB,OAAO65C,UAEvB,EACAp3C,QAAS,CACLq3C,kBACIz/D,KAAKkmB,MAAM,eACf,EACAw5C,cACI1/D,KAAKkmB,MAAM,WAAYlmB,KAAK0lB,MAAM5nB,EACtC,IGpEZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,mEHYvD+4D,GA0BS8I,EAAA,CA1BAnqE,MAAOmwB,EAAAnwB,MAAQoqE,YAAYz5C,EAAAs5C,kBACrB7qE,YAAWirE,IAClB,IAAgC,CAAhCpJ,GAAgCvoC,EAAArI,OAAA,kBAEzBi6C,OAAMD,IACb,IAA2B,CAA3BpJ,GAA2BvoC,EAAArI,OAAA,aAEpBk6C,QAAOF,IACd,IAA4B,CAA5BpJ,GAA4BvoC,EAAArI,OAAA,cAGrBjpB,MAAKijE,IACZ,IAAsD,CAAtDx0B,GACAC,GAA6B,GAC7BV,GAOE,SANE93B,GAAG,mDACM4S,EAAA5nB,EAACi/D,GACVzpC,MAAM,QACNjkC,KAAK,OACJsnC,YAAajR,EAAAwlB,KAAK31C,OAAO0G,kBACzB+jE,QAAKjL,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAu5C,aAAAv5C,EAAAu5C,eAAA/0D,sBAJC+a,EAAA5nB,KAMb8sC,GAES,UAFA93B,GAAI6S,EAAA45C,SAAUjsC,MAAM,sBACtB5N,EAAAwlB,KAAK31C,OAAOE,cAAY,EAAAg2C,+CIf1BnY,MAAM,uBACA3P,IAAI,cAAc2P,MAAM,aAC/BsX,GAA6B,KAA1BtX,MAAM,iBAAe,0CCV/BA,MAAM,iDAGFA,MAAM,8BAmBf,IACI5qC,KAAM,UACNygC,WAAY,CACR2sC,aAAYA,IAEhB3uE,MAAO,CACH84E,cAAejmE,OACfkmE,iBAAkBlmE,OAClBxE,MAAOwE,OACPpF,YAAaoF,OACb2kE,OAAQ3kE,QAEZnS,KAAIA,KACO,CACHqjD,KAAIA,MDLhB,IACIxiD,KAAM,aACNygC,WAAY,CACRg3C,SE9CqB,QAAgB,GAAQ,CAAC,CAAC,sEDYvDx1B,GAeM,MAfNU,GAeM,CAdFT,GAAyD,OAApDtX,MAAM,iBAAiB2N,UAAQtb,EAAAs6C,0BACpCr1B,GAA+D,OAA1DtX,MAAM,oBAAoB2N,UAAQtb,EAAAu6C,6BACvCt1B,GAWM,MAXNa,GAWM,CAVFb,GAAoB,UAAAY,EAAb7lB,EAAAnwB,OAAK,GACZo1C,GAA4B,KAAzB3J,UAAQtb,EAAA/wB,aAAW,OAAA82C,IAEtB+qB,GAAavoC,EAAArI,OAAA,WAEbimB,GAIgBqqB,EAAA,CAHZ7iC,MAAM,cACLtmC,KAAM04B,EAAAwlB,KAAK51C,UAAUopE,QAAQC,OAC7B/I,KAAMjwC,EAAAg5C,yCDwBfx3E,MAAO,CACHqO,MAAOwE,OACPpF,YAAaoF,OACbulE,SAAUvlE,OACVwlE,UAAWxlE,OACXimE,cAAejmE,OACfkmE,iBAAkBlmE,QAEtBnS,OACI,MAAO,CACHqjD,KAAI,WACJptC,EAAGkC,KAAK2lB,OAAO65C,UAEvB,EACAp3C,QAAS,CACLq3C,kBACIz/D,KAAKkmB,MAAM,eACf,EACAw5C,cACI1/D,KAAKkmB,MAAM,WAAYlmB,KAAK0lB,MAAM5nB,EACtC,IGlEZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oEHYvD+4D,GAwBUuJ,EAAA,CAvBL,iBAAgBz6C,EAAAs6C,cAChB,oBAAmBt6C,EAAAu6C,iBACnB1qE,MAAOmwB,EAAAnwB,MACPZ,YAAa+wB,EAAA/wB,YACd+pE,OAAO,yDAEP,IAgBO,CAhBP/zB,GAgBO,QAhBDu0B,aAAa,KAAMC,SAAMrK,EAAA,KAAAA,EAAA,GAAAsK,IAAA,IAAA10D,IAAUwb,EAAAs5C,iBAAAt5C,EAAAs5C,mBAAA90D,IAAe,gBACpDigC,GAcM,MAdNS,GAcM,CAbFT,GAA8E,QAA9EU,GAA8EE,EAAnC9lB,EAAAwlB,KAAK31C,OAAOE,cAAY,GACnE81C,GAA6B,GAC7BX,GAOE,SANE93B,GAAG,mDACM4S,EAAA5nB,EAACi/D,GACVzpC,MAAM,QACNjkC,KAAK,OACJsnC,YAAajR,EAAAwlB,KAAK31C,OAAO0G,kBACzB+jE,QAAKjL,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAu5C,aAAAv5C,EAAAu5C,eAAA/0D,sBAJC+a,EAAA5nB,KAMb8sC,GAES,UAFA93B,GAAI6S,EAAA45C,SAAUjsC,MAAM,uBACtB5N,EAAAwlB,KAAK31C,OAAOE,cAAY,EAAAi2C,OAAA,yGpD2D3C,MAAM20B,GAAcA,IAAM,IAAIC,gBAAgB/5E,OAAOw4E,SAASwB,QACxDn4E,GAAQi4E,KACd,IAAIG,GAAcp4E,GAAMkhB,IAAI,UAAYlhB,GAAMuV,IAAI,eAAY/R,EAC9DrF,OAAOu7C,iBAAiB,YAAY,KAC5B0+B,KAAgBH,KAAc1iE,IAAI,WACtCpX,OAAOw4E,SAAS0B,QAAQ,IAG5B,UACI/3E,KAAM,MACNygC,WAAY,CACRu3C,WAAU,GACVC,MAAK,GACLC,YAAW,GACXC,qBAAoB,GACpBC,WAAU,GACVlC,OAAM,GACNU,OAAM,GACNa,QAAOA,IAEXt4E,KAAIA,KACO,CACH00E,aAAa,EACb10E,KAAM,GACNk5E,OAAQ,KACR71B,KAAI,WACJ81B,aAAa,EACb50E,UAAW,GACX60E,eAAgB,EAChBC,aAAc,GACdC,OwD7HA,kniDxD8HAC,UyD9HA,2x/EzDiIRhlD,UACIpc,KAAK0lB,MAAMq7C,OAASP,GAChBxgE,KAAK0lB,MAAMq7C,QACX/gE,KAAKqhE,gBAEb,EACAj5C,QAAS,CACLk5C,mBAAkBA,IACPd,IAAe,GAE1BzuD,MAAMysD,GACFx+D,KAAK0lB,MAAMw7C,aAAgB,MAAK1C,QAChCx+D,KAAK8lB,MAAMg7C,WAAWvK,OACtBv2D,KAAK0lB,MAAMu7C,eAAiB,CAChC,EACA/4E,yBACU8X,KAAK8lB,MAAM46C,WAAWhE,MAChC,EACA6E,wBACIvhE,KAAK8lB,MAAM+6C,qBAAqBrK,QACpC,EACAtuE,mBAAmB8E,GACf,MAAMhE,QAAoBqsE,EAAAA,GAAAA,GAAQroE,GAClCgT,KAAK0lB,MAAMt5B,UAAYpD,GAAeA,EAAYoD,WAAa,EACnE,EACAlE,uBACI,MAAMuZ,EAAKpB,SAASmhE,eAAe,gBAEnC,IAGI,GAFA//D,EAAG+iC,UAAUj7B,IAAI,cAEbvJ,KAAK0lB,MAAMs7C,YAAa,OAC5BhhE,KAAK0lB,MAAMu7C,eAAiB,EAE5B,MAAMQ,EAAcphE,SAASmhE,eAAe,eAAel0E,OACpDuC,EAAQpH,SAAgBi5E,EAAAA,GAAAA,GAAeD,GAC9C,GAAe,OAAXh5E,EAAiB,OAAOuX,KAAK+R,MAAMtpB,GAEnCuX,KAAK0lB,MAAM79B,OAASgI,IAAQmQ,KAAK0lB,MAAM79B,KAAO,IAElDmY,KAAK0lB,MAAM62C,aAAc,EACzBv8D,KAAK0lB,MAAMs7C,aAAc,EACzBhhE,KAAK0lB,MAAMu7C,eAAiB,EAE5BjhE,KAAK2hE,aAAa9xE,GAEbmQ,KAAK0lB,MAAMq7C,SACZP,GAAc3wE,EACdtJ,OAAOq7E,QAAQC,UAAU,CAAC,EAAG,GAAK,WAAU7lE,mBAAmBnM,OAGnEgpE,GAAAA,GAAQ/rD,SACRrQ,EAAAA,GAAAA,oBACAuD,KAAK0lB,MAAMq7C,OAAS,KACpB/gE,KAAK0lB,MAAM79B,KAAOgI,QACZmQ,KAAK8hE,YACf,CAAE,MAAM3kE,GACJC,QAAQ2U,MAAM5U,EAClB,CAAE,QACEsE,EAAG+iC,UAAUhjC,OAAO,cACpBxB,KAAK0lB,MAAMs7C,aAAc,EACzB,MAAM7sB,EAAgC,KAAzB5tD,OAAOw4E,SAAS5qB,KAAc,KAAO5tD,OAAOw4E,SAAS5qB,KAAK/gD,OAAO,GAC9E,IAAK+gD,EAAM,OACX,MAAM4tB,EAAW1hE,SAASmhE,eAAertB,GACrC4tB,GAAUA,EAASC,gBAC3B,CACJ,I0D7LZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oM1DYvDr3B,GAwDM,OAxDArX,MAAKuX,EAAA,gBAAiBnlB,EAAA62C,YAAW,kBAEzB72C,EAAA62C,aAAW,KADrB1F,GAUUuJ,EAAA,OARL5qE,MAAOkwB,EAAAwlB,KAAK51C,UAAU0B,IAAIxB,MAC1BZ,YAAa8wB,EAAAwlB,KAAK51C,UAAU0B,IAAIpC,YACjC,YAAU,eACT,aAAYuxB,EAAAm7C,qBACZ,iBAAgB57C,EAAAy7C,OAChB,oBAAmBz7C,EAAA07C,UACnBa,cAAc97C,EAAAk7C,yHAInB12B,GA8BM,MAAAU,GAAA,CA7BFS,GAAwEo2B,EAAA,CAAlDryD,IAAI,wBAAsB,UAEhDi8B,GA0BS6zB,EAAA,CAzBJnqE,MAAOkwB,EAAAwlB,KAAK51C,UAAU0B,IAAIxB,MAC3B,YAAU,eACT,aAAY2wB,EAAAm7C,qBACZW,cAAc97C,EAAAk7C,iBAEJzsE,YAAWirE,IAClB,IAKS,CALT/zB,GAKSq2B,EAAA,CAJJ5uC,MAAKuX,EAAA,CAAAlsC,QAAY8mB,EAAAu7C,iBACjBh2B,OAAiB,KAATvlB,EAAA79B,KACRA,KAAM69B,EAAA79B,KACN8Q,QAAS+sB,EAAAs7C,4DAGPlB,OAAMD,IACb,IAIe,CAJf/zB,GAIes2B,EAAA,CAHV7uC,MAAKuX,EAAA,CAAAlsC,QAAY8mB,EAAAu7C,iBACjBh2B,OAAiB,KAATvlB,EAAA79B,KACR8Q,QAAS+sB,EAAAs7C,qDAGPjB,QAAOF,IACd,IAEI,CAFc,KAATn6C,EAAA79B,MAAI,KAAb8iD,GAEI,WAFkBrX,MAAM,oBAAqBwhC,QAAKC,EAAA,KAAAA,EAAA,OAAApqD,IAAEwb,EAAAo7C,uBAAAp7C,EAAAo7C,yBAAA52D,OACjD+a,EAAAwlB,KAAK51C,UAAU0B,IAAItB,aAAW,uEAMjDk1C,GAIM,OAJDtX,MAAM,iBAAkBC,MAAKuX,EAAA,CAAAlsC,QAAY8mB,EAAAu7C,mBAC1Cr2B,GAEM,MAFNU,GAEM,CADFQ,GAAiIu2B,EAAA,CAArHxyD,IAAI,aAAchoB,KAAM69B,EAAA79B,KAAOuE,UAAWs5B,EAAAt5B,UAAYuM,QAAS+sB,EAAAs7C,YAAc,eAAct7C,EAAA62C,yEAInG72C,EAAA62C,YACS,eADE,KAAvB5xB,GAEM,MAAAY,GAAA,CADFO,GAAiB+yB,MAGrB/yB,GAAkEw2B,EAAA,CAAtDzyD,IAAI,aAAc2uD,QAAS94C,EAAAw7C,0C2DlD/C7gE,SAASkiE,KAAK/sE,MAAQ01C,GAAAA,QAAK51C,UAAU0B,IAAIxB,M5Dg3CvBylC,KAAItwB,KACpB,MAAM3T,EAAMwzC,KAAiBvP,aAAatwB,IAKpC,MAAEugB,GAAUl0B,EAiBlB,OAhBAA,EAAIk0B,MAASs3C,IACX,MAAMlxC,EAmEV,SAA4BA,GAC1B,OAAIrvB,EAASqvB,GACCjxB,SAASsgC,cAAcrP,GAa9BA,CACT,CAnFsBmxC,CAAmBD,GACrC,IAAKlxC,EACH,OACF,MAAMpc,EAAYle,EAAIuzB,WACjBvoB,EAAWkT,IAAeA,EAAUkD,QAAWlD,EAAUgpB,WAC5DhpB,EAAUgpB,SAAW5M,EAAU2P,WAEjC3P,EAAU2P,UAAY,GACtB,MAAM7xB,EAAQ8b,EAAMoG,GAAW,EAAOA,aAAqBoxC,YAK3D,OAJIpxC,aAAqB8b,UACvB9b,EAAUkX,gBAAgB,WAC1BlX,EAAUgP,aAAa,aAAc,KAEhClxB,CAAK,EAEPpY,CAAG,E4Dr4CZikC,CAAU0nC,IAAKz3C,MAAM","sources":["webpack://dns-tool/./node_modules/node-fetch/browser.js","webpack://dns-tool/./node_modules/vue-loader/dist/exportHelper.js","webpack://dns-tool/./node_modules/web-whois/src/cfwho.js","webpack://dns-tool/./node_modules/web-whois/src/index.js","webpack://dns-tool/./node_modules/web-whois/src/rdap.js","webpack://dns-tool/./node_modules/web-whois/src/util.js","webpack://dns-tool/./node_modules/web-whois/src/whois.js","webpack://dns-tool/./src/dns-lookup/blocklists.ts","webpack://dns-tool/./src/dns-lookup/data/blocklists.ts","webpack://dns-tool/./src/dns-lookup/data/dmarc.ts","webpack://dns-tool/./src/dns-lookup/data/ns_regexp.ts","webpack://dns-tool/./src/dns-lookup/data/record_key_help.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/cloudflare.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/digitalocean.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/godaddy.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/googledomains.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/index.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/namecheap.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/namecheap_registrar.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/network_solutions.ts","webpack://dns-tool/./src/dns-lookup/data/record_tutorials/porkbun.ts","webpack://dns-tool/./src/dns-lookup/data/records.ts","webpack://dns-tool/./src/dns-lookup/data/registrar_regexp.ts","webpack://dns-tool/./src/dns-lookup/data/txt.ts","webpack://dns-tool/./src/dns-lookup/data/vueified_records.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/common.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/data/dmarc.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/data/index.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/data/record_key_help.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/data/records.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/data/txt.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/index.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/app.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/clipboard_modal.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/dmarc_explainer.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/dns_diff.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/dodns.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/index.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/mx_blocklist.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/propagation_modal.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/record_selection_modal.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/records.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/truncated_record.ts","webpack://dns-tool/./src/dns-lookup/i18n/en/templates/whois.ts","webpack://dns-tool/./src/dns-lookup/i18n/index.ts","webpack://dns-tool/./src/dns-lookup/plain_text_reports.ts","webpack://dns-tool/./src/dns-lookup/standardise_records.ts","webpack://dns-tool/./src/dns-lookup/table.ts","webpack://dns-tool/./src/dns-lookup/utils/geoJS.ts","webpack://dns-tool/./src/dns-lookup/utils/googleDNS.ts","webpack://dns-tool/./src/dns-lookup/utils/whoisJS.ts","webpack://dns-tool/./src/shared/i18n/en/common.ts","webpack://dns-tool/./src/shared/i18n/en/index.ts","webpack://dns-tool/./src/shared/i18n/en/templates/error_modal.ts","webpack://dns-tool/./src/shared/i18n/en/templates/footer.ts","webpack://dns-tool/./src/shared/i18n/en/templates/index.ts","webpack://dns-tool/./src/shared/i18n/index.ts","webpack://dns-tool/./src/shared/utils/backoffFetch.ts","webpack://dns-tool/./src/shared/utils/cfDNS.ts","webpack://dns-tool/./src/shared/utils/sanitize.ts","webpack://dns-tool/./src/shared/utils/skeletonStyle.ts","webpack://dns-tool/./src/shared/utils/validateDomain.ts","webpack://dns-tool/webpack/bootstrap","webpack://dns-tool/webpack/runtime/global","webpack://dns-tool/webpack/runtime/compat","webpack://dns-tool/./node_modules/do-vue/src/webpack-dynamic-import.js","webpack://dns-tool/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://dns-tool/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://dns-tool/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://dns-tool/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://dns-tool/./src/dns-lookup/templates/app.vue","webpack://dns-tool/./src/dns-lookup/templates/dodns.vue","webpack://dns-tool/./src/dns-lookup/templates/skeletons/dodns.vue","webpack://dns-tool/./src/dns-lookup/templates/skeletons/dodns.vue?537f","webpack://dns-tool/./src/dns-lookup/templates/dodns.vue?806d","webpack://dns-tool/./src/dns-lookup/templates/record.vue","webpack://dns-tool/./node_modules/vue-tippy/dist/vue-tippy.esm-browser.js","webpack://dns-tool/./src/dns-lookup/templates/truncated_record.vue","webpack://dns-tool/./src/dns-lookup/templates/truncated_record.vue?0edb","webpack://dns-tool/./src/dns-lookup/templates/whois.vue","webpack://dns-tool/./src/dns-lookup/templates/whois.vue?5ce0","webpack://dns-tool/./src/dns-lookup/templates/mx_blocklist.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/external_link.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/external_link.vue?7d11","webpack://dns-tool/./src/dns-lookup/templates/mx_blocklist.vue?7d81","webpack://dns-tool/./src/dns-lookup/templates/skeletons/record.vue","webpack://dns-tool/./src/dns-lookup/templates/skeletons/record.vue?0b33","webpack://dns-tool/./src/dns-lookup/templates/dns_diff.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/modal.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/modal.vue?1745","webpack://dns-tool/./src/dns-lookup/templates/dns_diff.vue?9f0d","webpack://dns-tool/./src/dns-lookup/templates/dmarc_explainer_modal.vue","webpack://dns-tool/./src/dns-lookup/templates/dmarc_explainer_modal.vue?8951","webpack://dns-tool/./src/dns-lookup/templates/record.vue?56ae","webpack://dns-tool/./node_modules/do-vue/src/utils/dataUrlParser.js","webpack://dns-tool/./src/dns-lookup/templates/propagation_modal.vue","webpack://dns-tool/./src/dns-lookup/templates/record_base.vue","webpack://dns-tool/./src/dns-lookup/templates/propagation_modal.vue?7f48","webpack://dns-tool/./src/dns-lookup/templates/record_base.vue?187d","webpack://dns-tool/./src/dns-lookup/templates/record_jumps.vue","webpack://dns-tool/./src/dns-lookup/templates/skeletons/record_jumps.vue","webpack://dns-tool/./src/dns-lookup/templates/skeletons/record_jumps.vue?5b29","webpack://dns-tool/./src/dns-lookup/templates/record_jumps.vue?d0ac","webpack://dns-tool/./src/dns-lookup/templates/clipboard_modal.vue","webpack://dns-tool/./src/dns-lookup/templates/clipboard_modal.vue?71b2","webpack://dns-tool/./src/dns-lookup/templates/record_selection_modal.vue","webpack://dns-tool/./src/dns-lookup/templates/record_selection_modal.vue?3c23","webpack://dns-tool/./src/shared/templates/error_modal.vue","webpack://dns-tool/./src/shared/templates/error_modal.vue?9aa5","webpack://dns-tool/./node_modules/do-vue/src/templates/footer.vue","webpack://dns-tool/./node_modules/do-vue/src/i18n/index.js","webpack://dns-tool/./node_modules/do-vue/src/i18n/en/index.js","webpack://dns-tool/./node_modules/do-vue/src/i18n/en/templates/index.js","webpack://dns-tool/./node_modules/do-vue/src/i18n/en/templates/footer.js","webpack://dns-tool/./node_modules/do-vue/src/i18n/en/templates/landing.js","webpack://dns-tool/./src/shared/templates/footer.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/footer.vue?e2bb","webpack://dns-tool/./src/shared/templates/footer.vue?2c38","webpack://dns-tool/./src/shared/templates/header.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/header.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/header.vue?974f","webpack://dns-tool/./src/shared/templates/header.vue?02e7","webpack://dns-tool/./src/shared/templates/landing.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/landing.vue","webpack://dns-tool/./node_modules/do-vue/src/templates/landing.vue?2969","webpack://dns-tool/./src/shared/templates/landing.vue?67bb","webpack://dns-tool/./build/svg/dns-top.svg.js","webpack://dns-tool/./build/svg/dns-bottom.svg.js","webpack://dns-tool/./src/dns-lookup/templates/app.vue?efa7","webpack://dns-tool/./src/dns-lookup/mount.js"],"sourcesContent":["\"use strict\";\n\n// ref: https://github.com/tc39/proposal-global\nvar getGlobal = function () {\n\t// the only reliable means to get the global object is\n\t// `Function('return this')()`\n\t// However, this causes CSP violations in Chrome apps.\n\tif (typeof self !== 'undefined') { return self; }\n\tif (typeof window !== 'undefined') { return window; }\n\tif (typeof global !== 'undefined') { return global; }\n\tthrow new Error('unable to locate global object');\n}\n\nvar globalObject = getGlobal();\n\nmodule.exports = exports = globalObject.fetch;\n\n// Needed for TypeScript and Webpack.\nif (globalObject.fetch) {\n\texports.default = globalObject.fetch.bind(globalObject);\n}\n\nexports.Headers = globalObject.Headers;\nexports.Request = globalObject.Request;\nexports.Response = globalObject.Response;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","const fetch = require('node-fetch');\nconst { uniqueCommaSep, consistentResultObj, consistentResult } = require('./util');\n\nconst findAbuseEmail = data => {\n const abuse = data.contacts && data.contacts.abuse;\n if (!abuse || !Array.isArray(abuse)) return;\n return uniqueCommaSep(data.contacts.abuse);\n};\n\nmodule.exports = async query => {\n const resp = await fetch(`https://cfwho.com/api/v1/${query}`);\n const rawData = await resp.json().catch(() => false);\n const data = rawData && rawData[query];\n\n // Ensure the data is there\n if (!data || !data.success)\n return false;\n\n // Find the useful information for us\n const result = consistentResultObj({\n name: data.netname,\n asn: data.asn,\n cidr: data.network,\n abuse: findAbuseEmail(data),\n });\n\n // Done\n return consistentResult(result);\n};\n","const rdapLookup = require('./rdap');\nconst whoisLookup = require('./whois');\nconst cfwhoLookup = require('./cfwho');\nconst { consistentResultObj, consistentResult } = require('./util');\n\nconst combineResults = dataArr => {\n const result = {};\n for (const data of dataArr)\n for (const key in data)\n if (Object.prototype.hasOwnProperty.call(data, key))\n if (data[key] && !result[key]) result[key] = data[key];\n return consistentResult(consistentResultObj(result));\n};\n\nmodule.exports = async (query, first = false) => {\n // Do the RDAP lookup\n const rdap = await rdapLookup(query);\n\n // If we have RDAP data and want just the first, return it\n if (rdap && first) return rdap;\n\n // Do the WHOIS lokkup\n const whois = await whoisLookup(query);\n\n // If we have WHOIS data and want just the first, return it\n if (whois && first) return whois;\n\n // Do the cfwho lokkup\n const cfwho = await cfwhoLookup(query);\n\n // If we have cfwho data and want just the first, return it\n if (cfwho && first) return cfwho;\n\n // Combine the results (preferring RDAP, WHOIS, then cfwho)\n return combineResults([rdap || {}, whois || {}, cfwho || {}]);\n};\n","const fetch = require('node-fetch');\nconst { uniqueCommaSep, consistentResultObj, consistentResult } = require('./util');\n\n// Find RDAP data entities that match a name\nconst findEntities = (name, data) => data.entities && data.entities.filter(entity =>\n entity.roles && entity.roles.map(role => role.trim().toLowerCase()).includes(name));\n\n// Find a specific vcard for an RDAP entity\nconst entityVcard = (entity, vcard) => {\n if (entity && entity.vcardArray && Array.isArray(entity.vcardArray) && entity.vcardArray.length > 1) {\n const entityFn = entity.vcardArray[1].find(card => card[0] === vcard);\n if (entityFn && Array.isArray(entityFn) && entityFn.length > 3) return entityFn[3];\n }\n};\n\n// Find a vcard name/handle for an RDAP entity\nconst findEntityName = (name, data) => {\n const entities = findEntities(name, data);\n if (!entities) return;\n\n return uniqueCommaSep(entities.map(entity => entityVcard(entity, 'fn') || (entity && entity.handle)) || []);\n};\n\n// Find a vcard email address for an RDAP entity\nconst findEntityEmail = (name, data) => {\n const entities = findEntities(name, data);\n if (!entities) return;\n\n return uniqueCommaSep(entities.map(entity => entityVcard(entity, 'email')) || []);\n};\n\n// Get a JS Date for a specific RDAP data event\nconst findEventDate = (name, data) => {\n if (!data.events) return;\n const event = data.events.find(event => event.eventAction.trim().toLowerCase() === name);\n if (!event || !event.eventDate) return;\n return new Date(event.eventDate);\n};\n\n// Find the ASN information from the RDAP data\nconst findAsn = data => uniqueCommaSep((data.arin_originas0_originautnums || []).map(asn => asn.toString()));\n\n// Format RDAP CIDR data\nconst formatCidr = cidr => cidr && (cidr.v4prefix || cidr.v6prefix) && cidr.length\n ? (cidr.v4prefix || cidr.v6prefix) + '/' + cidr.length.toString()\n : undefined;\n\n// Find the CIDR blocks from the RDAP data\nconst findCidr = data => uniqueCommaSep((data.cidr0_cidrs || []).map(formatCidr).filter(cidr => cidr !== undefined));\n\n// Find the abuse email in the RDAP data\nconst findAbuseEmail = data => {\n const directAbuse = findEntityEmail('abuse', data);\n if (directAbuse) return directAbuse;\n\n const registrarEntities = findEntities('registrar', data);\n if (!registrarEntities) return;\n\n return findEntityEmail('abuse', {\n entities: registrarEntities.map(entity => entity.entities).flat(1).filter(entity => entity !== undefined),\n });\n};\n\nmodule.exports = async query => {\n const resp = await fetch(`https://rdap.cloud/api/v1/${query}`);\n const rawData = await resp.json().catch(() => false);\n const data = rawData && rawData.results && rawData.results[query];\n\n // Ensure the data is there\n if (!data || !data.success || !data.data)\n return false;\n\n // Find the useful information for us\n const result = consistentResultObj({\n name: data.data.name,\n registrant: findEntityName('registrant', data.data),\n asn: findAsn(data.data),\n registrar: findEntityName('registrar', data.data),\n registration: findEventDate('registration', data.data),\n expiration: findEventDate('expiration', data.data),\n cidr: findCidr(data.data),\n abuse: findAbuseEmail(data.data),\n });\n\n // Done\n return consistentResult(result);\n};\n","// Unique values in an array, comma-separated\nmodule.exports.uniqueCommaSep = arr => [...new Set(arr)].join(', ');\n\nconst trimmed = item => item && `${item}`.trim();\n\n// Consistent keys for the response from the package\nmodule.exports.consistentResultObj = data => ({\n name: trimmed(data.name) || undefined,\n registrant: trimmed(data.registrant) || undefined,\n asn: trimmed(data.asn) || undefined,\n registrar: trimmed(data.registrar) || undefined,\n registration: data.registration || undefined,\n expiration: data.expiration || undefined,\n cidr: trimmed(data.cidr) || undefined,\n abuse: trimmed(data.abuse) || undefined,\n});\n\n// If we found nothing, the package returns false\nmodule.exports.consistentResult = data => Object.values(data).every(x => x === undefined) ? false : data;\n","const fetch = require('node-fetch');\nconst { consistentResultObj, consistentResult } = require('./util');\n\nconst normalizeKey = text => `${text}`.toLowerCase().trim().replace(/[-_]/g, ' ');\nconst normalizeValue = text => `${text}`.trim();\n\nconst parseWhois = text => {\n // RegExp parts\n const reLinebreak = '\\\\r\\\\n';\n const reWhitespace = `[^\\\\S${reLinebreak}]`;\n const reKey = '([a-zA-Z\\\\-\\\\s]+):';\n const reText = `([^\\\\s${reLinebreak}][^${reLinebreak}]*)`;\n const reLineStart = `^${reWhitespace}*${reKey}`;\n const reLineEnd = `${reWhitespace}+${reText}$`;\n\n // The RegExps to be used\n const reSingleLine = `${reLineStart}${reLineEnd}`;\n const regExpSingleLineGm = new RegExp(reSingleLine, 'gm');\n const regExpSingleLine = new RegExp(reSingleLine);\n const reSplitLine = `${reLineStart}[${reLinebreak}]+${reLineEnd}`;\n const regExpSplitLineGm = new RegExp(reSplitLine, 'gm');\n const regExpSplitLine = new RegExp(reSplitLine);\n\n // Find the matches in the string\n const singleLineMatches = text.match(regExpSingleLineGm) || [];\n const splitLineMatches = text.match(regExpSplitLineGm) || [];\n const matches = [];\n\n // All single line matches are valid\n for (const rawMatch of singleLineMatches) {\n const match = rawMatch.trim().match(regExpSingleLine);\n matches.push({\n key: normalizeKey(match[1]),\n value: normalizeValue(match[2]),\n });\n }\n\n // Split line matches that don't include a single line match are valid\n for (const rawMatch of splitLineMatches) {\n if (singleLineMatches.map(singleLineMatch => rawMatch.includes(singleLineMatch)).includes(true))\n continue;\n\n const match = rawMatch.trim().match(regExpSplitLine);\n matches.push({\n key: normalizeKey(match[1]),\n value: normalizeValue(match[2]),\n });\n }\n\n // Return the final parsed data\n return matches;\n};\n\n// Find an attribute value from the WHOIS data\nconst findAttribute = (names, data) => {\n for (const name of names) {\n const entry = data.find(entry => entry.key === name);\n if (entry && entry.value) return entry.value;\n }\n};\n\n// Find a JS Date for an attribute from the WHOIS data\nconst findAttributeDate = (names, data) => {\n const attribute = findAttribute(names, data);\n if (!attribute) return;\n return new Date(attribute);\n};\n\nmodule.exports = async query => {\n const resp = await fetch(`https://whoisjs.com/api/v1/${query}`);\n const rawData = await resp.json().catch(() => false);\n\n // Ensure the data is there\n if (!rawData || !rawData.success || !rawData.raw)\n return false;\n\n // Parse ourselves\n const data = parseWhois(rawData.raw);\n if (!data)\n return false;\n\n // Find the useful information for us\n const result = consistentResultObj({\n registrant: findAttribute(['registrant'], data),\n registrar: findAttribute(['registrar', 'organisation'], data),\n registration: findAttributeDate(['creation date', 'created', 'registered on'], data),\n expiration: findAttributeDate(['registry expiry date', 'expiry date'], data),\n abuse: findAttribute(['registrar abuse contact email'], data),\n });\n\n // Done\n return consistentResult(result);\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst blocklists_1 = require(\"./data/blocklists\");\nconst cfDNS_1 = require(\"../shared/utils/cfDNS\");\n// Reverses the IP address for DNSBL lookups.\nconst reverseIp = (ip) => ip.split(\".\").reverse().join(\".\");\n// Get the result of a blocklist check\nconst checkBlocklist = async (name, blocklist, type) => {\n const res = await (0, cfDNS_1.default)(`${name}.${blocklist}`, \"A\");\n if (!res.ok)\n return;\n if ((await res.json()).Answer) {\n const resp = {};\n resp[type] = blocklist;\n return resp;\n }\n};\nconst checkIpBlocklists = (ip) => {\n const promises = [];\n for (const blocklist of blocklists_1.ipBlocklists) {\n promises.push(checkBlocklist(reverseIp(ip), blocklist, \"ip\"));\n }\n return promises;\n};\nconst checkDomainBlocklists = (domain) => {\n const promises = [];\n for (const blocklist of blocklists_1.domainBlocklists) {\n promises.push(checkBlocklist(domain, blocklist, \"domain\"));\n }\n return promises;\n};\n// Gets any blocklists that the IP/domain is in.\nconst getBlocklists = async (ip, domain) => {\n const blocklists = {\n ip: [],\n domain: [],\n };\n const promises = [...checkIpBlocklists(ip)];\n if (domain)\n promises.push(...checkDomainBlocklists(domain));\n const data = await Promise.all(promises);\n data.forEach(item => {\n if (!item)\n return;\n if (item.ip)\n blocklists.domain.push(item.ip);\n if (item.domain)\n blocklists.domain.push(item.domain);\n });\n return blocklists;\n};\nexports.default = getBlocklists;\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.domainBlocklists = exports.ipBlocklists = void 0;\nexports.ipBlocklists = [\n \"zen.spamhaus.org\",\n \"sbl.spamhaus.org\",\n \"xbl.spamhaus.org\",\n \"dnsbl.spfbl.net\",\n \"spam.spamrats.com\",\n];\nexports.domainBlocklists = [\n \"dbl.spamhaus.org\",\n \"0spam.org\",\n \"dbl.suomispam.net\",\n];\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst i18n_1 = require(\"../i18n\");\nexports.default = {\n v: i18n_1.default.data.dmarc.v,\n ruf: i18n_1.default.data.dmarc.ruf,\n rua: i18n_1.default.data.dmarc.rua,\n pct: i18n_1.default.data.dmarc.pct,\n p: i18n_1.default.data.dmarc.p,\n aspf: i18n_1.default.data.dmarc.aspf,\n adkim: i18n_1.default.data.dmarc.adkim,\n sp: i18n_1.default.data.dmarc.sp,\n fo: i18n_1.default.data.dmarc.fo,\n rf: i18n_1.default.data.dmarc.rf,\n ri: i18n_1.default.data.dmarc.ri,\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst digitalOceanRegex = /.*digitalocean\\.com\\.*/;\nconst cloudflareRegex = /.*cloudflare\\.com\\.*/;\nconst namecheapRegex = /.*registrar-servers\\.com.*/;\nconst goDaddyRegex = /.*godaddy\\.com.*/;\n// Defines regex checks for providers and then ways to change records with that provider.\nconst records = new Map();\nrecords.set(digitalOceanRegex, \"digitalocean\");\nrecords.set(cloudflareRegex, \"cloudflare\");\nrecords.set(namecheapRegex, \"namecheap\");\nrecords.set(goDaddyRegex, \"godaddy\");\nexports.default = records;\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst i18n_1 = require(\"../i18n\");\nexports.default = {\n TTL: i18n_1.default.data.recordKeyHelp.TTL,\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://support.cloudflare.com/hc/en-us/articles/360019093151-Managing-DNS-records-in-Cloudflare\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n A: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#a-records\",\n AAAA: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#aaaa-records\",\n CNAME: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#cname-records\",\n MX: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#mx-records\",\n TXT: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#txt-records\",\n NS: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#ns-records\",\n SRV: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#srv-records\",\n CAA: \"https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#caa-records\",\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://uk.godaddy.com/help/manage-dns-zone-files-680\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://support.google.com/domains/answer/3290309?hl=en-GB\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst digitalocean_1 = require(\"./digitalocean\");\nconst cloudflare_1 = require(\"./cloudflare\");\nconst namecheap_1 = require(\"./namecheap\");\nconst godaddy_1 = require(\"./godaddy\");\nconst googledomains_1 = require(\"./googledomains\");\nconst porkbun_1 = require(\"./porkbun\");\nconst network_solutions_1 = require(\"./network_solutions\");\nconst namecheap_registrar_1 = require(\"./namecheap_registrar\");\nexports.default = {\n cloudflare: cloudflare_1.default, digitalocean: digitalocean_1.default, namecheap: namecheap_1.default, godaddy: godaddy_1.default, googledomains: googledomains_1.default, porkbun: porkbun_1.default, networksolutions: network_solutions_1.default, namecheapregistrar: namecheap_registrar_1.default,\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n A: \"https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain\",\n AAAA: \"\",\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://www.networksolutions.com/support/how-to-manage-advanced-dns-records/\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = \"https://kb.porkbun.com/article/22-how-to-change-your-nameservers\";\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst i18n_1 = require(\"../i18n\");\nexports.default = {\n A: {\n info: i18n_1.default.data.records.A,\n url: \"https://kb.pressable.com/article/dns-record-types-explained/\",\n expectsHost: true,\n },\n TXT: {\n info: i18n_1.default.data.records.TXT,\n url: \"https://support.google.com/a/answer/2716800?hl=en\",\n additionalDataParsing: (data) => data.startsWith(\"\\\"\") ? data.substr(1).slice(0, -1) : data,\n },\n MX: {\n info: i18n_1.default.data.records.MX,\n url: \"https://en.wikipedia.org/wiki/MX_record\",\n additionalDataParsing: (data) => data.endsWith(\".\") ? data.slice(0, -1) : data,\n expectsHost: true,\n },\n AAAA: {\n info: i18n_1.default.data.records.AAAA,\n url: \"https://help.fasthosts.co.uk/app/answers/detail/a_id/1548/~/dns-aaaa-records\",\n expectsHost: true,\n },\n CNAME: {\n info: i18n_1.default.data.records.CNAME,\n url: \"https://support.google.com/a/answer/112037?hl=en\",\n expectsHost: true,\n },\n CAA: {\n info: i18n_1.default.data.records.CAA,\n url: \"https://www.digitalocean.com/docs/networking/dns/how-to/caa/\",\n },\n NS: {\n info: i18n_1.default.data.records.NS,\n url: \"https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/\",\n additionalDataParsing: (data) => data.endsWith(\".\") ? data.slice(0, -1) : data,\n expectsHost: true,\n },\n SRV: {\n info: i18n_1.default.data.records.SRV,\n url: \"https://en.wikipedia.org/wiki/SRV_record\",\n },\n DMARC: {\n info: i18n_1.default.data.records.DMARC,\n url: \"https://dmarc.org/overview/\",\n },\n SSHFP: {\n info: i18n_1.default.data.records.SSHFP,\n url: \"https://en.wikipedia.org/wiki/SSHFP_record\",\n },\n TLSA: {\n info: i18n_1.default.data.records.TLSA,\n url: \"https://simpledns.com/help/tlsa-records\",\n },\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst googleDomainsRegex = /.*domains\\.google\\.com.*/;\nconst porkbunRegex = /.*porkbun\\.com.*/;\nconst networkSolutionsRegex = /.*networksolutions\\.com.*/;\nconst namecheapRegex = /.*namecheap\\.com.*/;\n// Defines regex checks for providers and then ways to change records with that provider.\nconst records = new Map();\nrecords.set(googleDomainsRegex, \"googledomains\");\nrecords.set(porkbunRegex, \"porkbun\");\nrecords.set(networkSolutionsRegex, \"networksolutions\");\nrecords.set(namecheapRegex, \"namecheapregistrar\");\nexports.default = records;\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst i18n_1 = require(\"../i18n\");\nexports.default = {\n \"google-site-verification\": i18n_1.default.data.txt.google,\n \"mailru-verification\": i18n_1.default.data.txt.mailru,\n \"MS\": i18n_1.default.data.txt.o365,\n \"keybase-site-verification\": i18n_1.default.data.txt.keybase,\n \"_globalsign-domain-verification\": i18n_1.default.data.txt.globalsign,\n \"globalsign-domain-verification\": i18n_1.default.data.txt.globalsign,\n \"bugcrowd-verification\": i18n_1.default.data.txt.bugcrowd,\n \"status-page-domain-verification\": i18n_1.default.data.txt.statuspage,\n \"segment-site-verification\": i18n_1.default.data.txt.segment,\n \"logmein-verification-code\": i18n_1.default.data.txt.logmein,\n \"facebook-domain-verification\": i18n_1.default.data.txt.facebook,\n \"yandex-verification\": i18n_1.default.data.txt.yandex,\n \"loaderio\": i18n_1.default.data.txt.loaderio,\n \"v=spf1\": i18n_1.default.data.txt.spf,\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst records_1 = require(\"./records\");\nconst setRecords = [];\nfor (const recordKey in records_1.default) {\n const record = records_1.default[recordKey];\n setRecords.push({\n name: recordKey,\n description: record.info,\n url: record.url,\n expectsHost: Boolean(record.expectsHost),\n });\n}\nexports.default = setRecords;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n close: \"close\",\n records: \"Records\",\n none: \"None\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n v: `This dictates the DMARC protocol version that is being used. This is normally located at the start of a record and set to DMARC1.`,\n ruf: \"This is a comma separated list of e-mails where forensic reports should be sent.\",\n rua: \"This is a comma separated list of e-mails where aggregate reports should be sent.\",\n pct: \"This defines the percentage of e-mail which will have this policy applied.\",\n p: `This defines how domain administrators want e-mail treated on the primary domain that fail the DMARC validation checks. The options are none (treat the same as usual), quarantine (mark as spam) or reject (reject the message).`,\n aspf: `If this is set to strict s mode the domain which e-mails are being sent from must exactly pass SPF record validation. If not, it will default to relaxed r mode where any sub-domain can inherit the root domain's SPF records.`,\n adkim: `By default this is set to relaxed r mode where any sub-domain can inherit the root domain's DKIM records. If this is set to strict s mode, the domain which e-mails are being sent from must exactly pass DKIM record validation.`,\n sp: `This defines how domain administrators want e-mail treated on sub-domains that fail the DMARC validation checks. The options are none (treat the same as usual), quarantine (mark as spam) or reject (reject the message).`,\n fo: `This option allows you to configure when failure reports should be sent. The available options are 0 which is the default and specifies that a report should be sent if an email fails SPF and DKIM checks, 1 to send a report if SPF or DKIM checks fail, d to send a report for only DKIM failures and s to send a report for only SPF failures.`,\n rf: `This is the format reports are sent in. It currently only has one supported value, afrf, which is the default.`,\n ri: `The requested interval between DMARC reports being sent in seconds. This defaults to 86400.`,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst txt_1 = require(\"./txt\");\nconst dmarc_1 = require(\"./dmarc\");\nconst records_1 = require(\"./records\");\nconst record_key_help_1 = require(\"./record_key_help\");\nexports.default = {\n txt: txt_1.default, records: records_1.default, recordKeyHelp: record_key_help_1.default, dmarc: dmarc_1.default,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n TTL: \"Time-to-live is a value in seconds that indicates how long a record should be cached for before being checked again\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n A: \"A records are the most basic type of DNS record and are used to point a domain or subdomain to an IPv4 address.\\nThese do NOT act as MX records, to receive e-mail, you need to set a MX record.\",\n TXT: \"TXT records are a type of DNS record that contains text information for sources outside of your domain.\",\n MX: \"A mail exchanger record (MX record) specifies the mail server responsible for accepting email messages on behalf of a domain name.\",\n AAAA: \"AAAA records behave the same as A records but for IPv6.\\nThey are used to point a domain or subdomain to a IPv6 address.\",\n CNAME: \"CNAME records are a DNS record that allows one domain to be mapped as an alias to another canonical domain name.\",\n CAA: \"CAA records allow domain owners to specify which Certificate Authorities (CAs) are permitted to issue certificates.\",\n NS: \"NS stands for \\\"name server\\\" and this record indicates which DNS server is authoritative for that domain (which server contains the actual DNS records).\\nA domain will often have multiple NS records which can indicate primary and backup name servers for that domain.\",\n SRV: \"A Service record (SRV record) is a specification of data in the Domain Name System defining the location, i.e. the hostname and port number, of servers for specified services.\",\n DMARC: \"The goal of DMARC is to build on the system of senders and receivers collaborating to improve mail authentication practices of senders and enable receivers to reject unauthenticated messages.\",\n SSHFP: \"This is used to identify which SSH keys belong to the domain.\",\n TLSA: \"TLSA records are used to specify the keys used in a domain's TLS servers.\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n globalsign: \"This TXT record is used so that GlobalSign can verify that they are issuing certificates to the domain owner.\",\n o365: \"This TXT record is used for Office 365 domain verification.\",\n keybase: \"This TXT record is commonly used to verify that a Keybase user is in ownership of a domain.\",\n spf: \"This is a SPF record which is used to identify trusted sources for transmitted e-mail.\\nThis makes it easier for receivers to tell if a e-mail is spam.\",\n loaderio: \"This is used so that Loader.io can verify the domain owner.\",\n yandex: \"This is used so that Yandex can verify the domain owner.\",\n facebook: \"This is used so that Facebook can verify the domain owner.\",\n logmein: \"This is used so that LogMeIn can verify the domain owner.\",\n segment: \"This is used so that Segment.com can verify the domain owner.\",\n statuspage: \"This is used so that Statuspage.io can verify the domain owner.\",\n bugcrowd: \"This TXT record is used so that Bugcrowd can verify the domain owner.\",\n mailru: \"This TXT record is used so that mail.ru can verify the domain owner.\",\n google: \"This TXT record is used so that Google can verify the domain owner.\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst templates_1 = require(\"./templates\");\nconst data_1 = require(\"./data\");\nconst common_1 = require(\"./common\");\nexports.default = { templates: templates_1.default, data: data_1.default, common: common_1.default };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n title: \"DNS Lookup\",\n description: `A simple browser-based tool to perform DNS lookups.
Type a domain, search, and instantly get results.`,\n searchButton: \"Search DNS Records\",\n textRecords: \"Download/Copy Records\",\n domain: \"Domain name\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n clipboardResult: \"Clipboard Result\",\n thisHasBeenCopied: \"Copied to your clipboard!\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n title: \"DMARC Explanations\",\n intro: `

A DMARC record is a normal TXT DNS records that is created at _dmarc.hostname. instead of just the root hostname.\nThis record can contain any of the following \"tags\" formatted as tag=value and separated by semi-colons.

\n

An example of a DMARC TXT record would be:

_dmarc.hostname. 300 IN TXT \"v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@hostname\"

`,\n learnMore: \"Learn more about DMARC at\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n title: \"Propagation Differences\",\n cfDns: \"Cloudflare DNS\",\n gDns: \"Google DNS\",\n host: \"Host\",\n XRecords: \"({record} Records)\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n using: \"This domain is using DigitalOcean DNS.\",\n notUsing: \"This domain is not using DigitalOcean DNS.\",\n learnMore: \"Learn more about DigitalOcean DNS.\",\n subdomain: \"This is a sub-domain and does not have any NS records.\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst app_1 = require(\"./app\");\nconst dodns_1 = require(\"./dodns\");\nconst mx_blocklist_1 = require(\"./mx_blocklist\");\nconst records_1 = require(\"./records\");\nconst truncated_record_1 = require(\"./truncated_record\");\nconst whois_1 = require(\"./whois\");\nconst propagation_modal_1 = require(\"./propagation_modal\");\nconst record_selection_modal_1 = require(\"./record_selection_modal\");\nconst dns_diff_1 = require(\"./dns_diff\");\nconst clipboard_modal_1 = require(\"./clipboard_modal\");\nconst dmarc_explainer_1 = require(\"./dmarc_explainer\");\nexports.default = {\n app: app_1.default, dodns: dodns_1.default, mxBlocklist: mx_blocklist_1.default, records: records_1.default, truncatedRecord: truncated_record_1.default,\n whois: whois_1.default, propagationModal: propagation_modal_1.default, recordSelectionModal: record_selection_modal_1.default,\n dnsDiff: dns_diff_1.default, clipboardModal: clipboard_modal_1.default, dmarcExplainer: dmarc_explainer_1.default,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n notBlocked: \"Domain/IP is not blocked by any blocklists.\",\n whatDoesItMean: \"What does a mailing blocklist mean?\",\n ipBlocked: \"IP blocked by BLOCKLIST.\",\n domainBlocked: \"Domain blocked by BLOCKLIST.\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n tutorial: `\n If you recently changed a DNS value, there is a good chance it will not have propagated to all your users yet.\n DNS propagation is the process of updating DNS values across all DNS servers and waiting for users caches to invalidate.\n

\n Due to various caches at user and DNS server levels, it may take some time for all your users to see the new records.\n

\n If you use a fast updating DNS such as {link|Cloudflare DNS|https://1.1.1.1}, it may be possible to get the new values locally by flushing your DNS cache.\n Here is how you do it on several operating systems:\n
\n Windows: Press the Windows Key and R together. You should get a \"Run\" box. Type ipconfig /flushdns in the box and press OK. You should see a brief flash of a black box. Your cache should then be invalidated.\n

\n Linux: Linux depends on the distribution. For Debian based distributions, run sudo systemd-resolve --flush-caches.\n

\n macOS: Open Terminal and run the command sudo killall -HUP mDNSResponder.\n

\n iPadOS: Turning off and on Airplane mode will flush your DNS cache.\n
\n If you are still unable to get the correct results, you can check the propagation status using a {link|propagation checker|{{DEEPLINK}}}.\n `,\n title: \"DNS Propagation\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n downloadRecords: \"Download Records\",\n downloadTextForm: \"Download Records In Text Form\",\n copyTextForm: \"Copy Records In Text Form\",\n downloadMd: \"Download Records In Markdown\",\n copyMd: \"Copy Records In Markdown\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n learnMore: \"Learn more\",\n noRecords: \"Could not find any records of this type.\",\n propagation: \"Why do I get different values on my local system?\",\n learnHow: \"Learn how to set {record} records with your DNS/registrar.\",\n propagationNote: \"Google DNS is reporting different values. This potentially means that your values have not propagated fully yet.\",\n srvTlsaFormat: `Expecting to see {a} {record} record here? Make sure you're looking at the right sub-domain.\n
{record} record names are normally formatted as follows: _<{sub}>._<protocol>.name.`,\n dmarcMechanisms: \"What are the mechanisms supported in DMARC records?\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n showMore: \"Show more...\",\n showLess: \"Show less...\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n loading: \"Loading WHOIS data...\",\n abuseContact: \"Abuse Contact\",\n owner: \"Owner\",\n notSpecified: \"Not Specified\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst en_1 = require(\"./en\");\nconst lang = \"en\";\nconst packs = { en: en_1.default };\nexports.default = packs[lang];\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateMdReport = exports.generateTextReport = exports.reports = void 0;\nconst records_1 = require(\"./data/records\");\nexports.reports = new Map();\nconst format = (data) => {\n const formattedParts = [];\n for (const key of Object.keys(data)) {\n const value = data[key];\n formattedParts.push(`${key[0].toUpperCase()}${key.substr(1)}: ${value}`);\n }\n return formattedParts.join(\" | \");\n};\nconst generateTextReport = (allowedRecords) => {\n let report = \"\";\n for (const key of Object.keys(records_1.default)) {\n const value = exports.reports.get(key);\n if (!value)\n continue;\n if (!allowedRecords.includes(key)) {\n continue;\n }\n let textValue = \" None\";\n if (value.Answer) {\n textValue = \"\";\n for (const answerIndex in value.Answer) {\n const answer = value.Answer[answerIndex];\n textValue += `\\n[${answerIndex}] ${format(answer)}`;\n }\n }\n report += `${key} Records:${textValue}\\n-----------\\n`;\n }\n return report;\n};\nexports.generateTextReport = generateTextReport;\nconst generateMdReport = (allowedRecords) => {\n let report = \"\";\n for (const key of Object.keys(records_1.default)) {\n const value = exports.reports.get(key);\n if (!value)\n continue;\n if (!allowedRecords.includes(key)) {\n continue;\n }\n let textValue = \"No records present.\\n\";\n if (value.Answer) {\n const unformattedKeys = Object.keys(value.Answer[0]);\n const keys = [];\n const dividers = [];\n for (const key of unformattedKeys) {\n const keyFormat = `${key.substr(0, 1).toUpperCase()}${key.substr(1)}`;\n keys.push(keyFormat);\n dividers.push(\"-\".repeat(keyFormat.length + 2));\n }\n textValue = `| ${keys.join(\" | \")} |\\n|${dividers.join(\"|\")}|\\n`;\n for (const answer of value.Answer) {\n const parts = [];\n for (const part of Object.values(answer)) {\n parts.push(String(part));\n }\n textValue += `| ${parts.join(\" | \")} |\\n`;\n }\n }\n report += `# ${key} Records\\n\\n${textValue}\\n`;\n }\n return report;\n};\nexports.generateMdReport = generateMdReport;\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Defines stuff for SSHFP.\nconst sshfpAlgorithm = [\n \"Reserved for future use\",\n \"RSA\",\n \"Diffie-Hellman\",\n \"ECDSA\",\n \"ED25519\",\n];\nconst sshfpFingerprint = [\n \"Reserved for future use\",\n \"SHA-1\",\n \"SHA-256\",\n];\n// Defines stuff for TLSA.\nconst tlsaUsage = [\n \"CA constraint\",\n \"Service certificate constraint\",\n \"Trust anchor assertion\",\n \"Domain-issued certificate\",\n];\nconst tlsaSelector = [\n \"Full TLS certificate\",\n \"The SubjectPublicKeyInfo of a TLS certificate\",\n];\nconst tlsaMatchingType = [\n \"CA constraint\",\n \"Service certificate constraint\",\n \"Trust anchor assertion\",\n];\n// Defines the main function.\nexports.default = (key, json, txtRecordFragments, recordsJoined, txtSplit) => {\n // Handle edgecases for different record types.\n if (key === \"MX\") {\n for (const record of json.Answer) {\n const dataSplit = record.data.split(\" \");\n if (dataSplit.length === 2) {\n record.data = dataSplit[1];\n record.priority = Number(dataSplit[0]);\n }\n }\n }\n else if (key === \"DMARC\") {\n const newRecords = [];\n for (const record of json.Answer) {\n const recordData = record.data.startsWith(\"\\\"\") ? record.data.substr(1).slice(0, -1) : record.data;\n const dataSplit = recordData.split(\";\");\n for (const newSplit of dataSplit) {\n if (newSplit === \"\")\n continue;\n newRecords.push({\n name: record.name,\n TTL: record.TTL,\n data: newSplit,\n type: undefined,\n });\n }\n }\n json.Answer = newRecords;\n }\n else if (key === \"SSHFP\") {\n const newRecords = [];\n for (const record of json.Answer) {\n const dataSplit = record.data.split(\" \");\n newRecords.push({\n name: record.name,\n algorithm: sshfpAlgorithm[Number(dataSplit[0])] || \"Unknown\",\n \"Fingerprint Type\": sshfpFingerprint[Number(dataSplit[1])] || \"Unknown\",\n fingerprint: dataSplit[2],\n TTL: record.TTL,\n type: undefined,\n });\n }\n json.Answer = newRecords;\n }\n else if (key === \"TLSA\") {\n const newRecords = [];\n for (const record of json.Answer) {\n const dataSplit = record.data.split(\" \");\n newRecords.push({\n name: record.name,\n usage: tlsaUsage[Number(dataSplit[0])] || \"Unknown\",\n selector: tlsaSelector[Number(dataSplit[1])] || \"Unknown\",\n \"Matching Type\": tlsaMatchingType[Number(dataSplit[2])] || \"Unknown\",\n fingerprint: dataSplit[3],\n TTL: record.TTL,\n type: undefined,\n });\n }\n json.Answer = newRecords;\n }\n else if (key === \"TXT\") {\n for (const record of json.Answer) {\n const recordDataSplit = record.data.split(txtSplit);\n if (recordDataSplit.length > 1) {\n const consumableRecord = `${recordDataSplit[0].substr(1).startsWith(\"_\") ? recordDataSplit[0].substr(2) : recordDataSplit[0].substr(1)}%${record.name}%${record.TTL}`;\n if (txtRecordFragments[consumableRecord]) {\n txtRecordFragments[consumableRecord] += `\\n${record.data}`;\n }\n else {\n txtRecordFragments[consumableRecord] = record.data;\n }\n delete json.Answer[record];\n continue;\n }\n }\n }\n else if (key === \"SRV\") {\n for (const record of json.Answer) {\n const dataSplit = record.data.split(\" \").reverse();\n record.priority = dataSplit.pop();\n record.weight = dataSplit.pop();\n record.port = dataSplit.pop();\n record.target = dataSplit.reverse().join(\" \");\n delete record.data;\n }\n }\n // Sorts them by either priority or TTL.\n json.Answer.sort((a, b) => {\n if (a.priority) {\n return a.priority - b.priority;\n }\n if (a.TTL) {\n return b.TTL - a.TTL;\n }\n });\n // Capitalise the keys.\n for (const record of json.Answer) {\n delete record.type;\n const recordKeys = Object.keys(record);\n for (const recordKeyOrigin of recordKeys) {\n const recordKey = `${recordKeyOrigin[0].toUpperCase()}${recordKeyOrigin.substr(1)}`;\n if (recordsJoined[recordKey]) {\n recordsJoined[recordKey].push(record[recordKeyOrigin]);\n }\n else {\n recordsJoined[recordKey] = [record[recordKeyOrigin]];\n }\n }\n }\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLargestRecordPart = void 0;\n// Gets the largest record part.\nconst getLargestRecordPart = (parts) => {\n let largestRecordPart = 0;\n for (const part of parts) {\n if (part.length > largestRecordPart) {\n largestRecordPart = part.length;\n }\n }\n return largestRecordPart;\n};\nexports.getLargestRecordPart = getLargestRecordPart;\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst backoffFetch_1 = require(\"../../shared/utils/backoffFetch\");\nexports.default = async (ip) => {\n return await (0, backoffFetch_1.default)(`https://get.geojs.io/v1/ip/geo/${ip}.json`, {\n headers: {\n Accept: \"application/json\",\n },\n });\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst backoffFetch_1 = require(\"../../shared/utils/backoffFetch\");\nexports.default = async (name, type) => {\n return await (0, backoffFetch_1.default)(`https://dns.google/resolve?name=${encodeURIComponent(name)}&type=${encodeURIComponent(type)}`);\n};\n","\"use strict\";\n/*\nCopyright 2021 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nconst whois = require(\"web-whois\");\nexports.default = async (query) => {\n return await whois(encodeURIComponent(query), true);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n close: \"close\",\n searchButton: \"Search\",\n searchPlaceholder: \"Enter a domain to get started\",\n invalidDomain: \"The domain you entered isn't valid.\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst templates_1 = require(\"./templates\");\nconst common_1 = require(\"./common\");\nexports.default = { common: common_1.default, templates: templates_1.default };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n title: \"Uh oh, something went wrong...\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n oss: `This tool is {link|open-source on GitHub|https://github.com/do-community/dns-tool} under the {link|Apache-2.0|https://github.com/do-community/dns-tool/blob/master/LICENSE} license! We welcome feedback and contributions.`,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst footer_1 = require(\"./footer\");\nconst error_modal_1 = require(\"./error_modal\");\nexports.default = { footer: footer_1.default, errorModal: error_modal_1.default };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst en_1 = require(\"./en\");\nconst lang = \"en\";\nconst packs = { en: en_1.default };\nexports.default = packs[lang];\n","\"use strict\";\n/*\nCopyright 2022 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.remakeController = void 0;\n// Defines the maximum backoff.\nconst maxBackoff = 512;\n// Defines the abort controller.\nlet controller;\n// Remakes the controller.\nconst remakeController = () => {\n if (controller)\n controller.abort();\n controller = new AbortController();\n};\nexports.remakeController = remakeController;\n// Creates the controller initially.\n(0, exports.remakeController)();\n// A fetch client that will behave exactly like fetch except it will backoff for 429/5XX errors.\nexports.default = (input, init) => new Promise(async (res, rej) => {\n // Defines the current backoff.\n let currentBackoff = 1;\n // Loop until the promise is resolved/rejected or it is inactive.\n for (;;) {\n // Get the fetch response.\n let r;\n try {\n if (init === undefined) {\n init = {\n signal: controller.signal,\n };\n }\n else {\n init.signal = controller.signal;\n }\n r = await fetch(input, init);\n }\n catch (e) {\n // Something really bad with the network/CORS has happened. Pass through this exception.\n if (e.name === \"AbortError\")\n console.info(`Request to ${input} was aborted.`);\n return rej(e);\n }\n // If it is not a 429/5XX, let the function deal with this.\n if (r.status !== 429 && Math.floor(r.status / 100) !== 5)\n return res(r);\n // Defines the amount of time to backoff.\n let backoff;\n const createBackoffTime = () => {\n currentBackoff *= 2;\n if (currentBackoff > maxBackoff) {\n console.warn(`Given up backing off for ${input}! Returning the response to the function.`);\n return res(r);\n }\n return currentBackoff;\n };\n const h = r.headers.get(\"Retry-After\");\n if (h) {\n const headerParsed = Number(h);\n if (isNaN(headerParsed)) {\n // We will try parsing as a date.\n try {\n const d = new Date(h);\n if (isNaN(d.getTime()))\n throw new Error();\n // Is a date! Get difference between current date and this date.\n backoff = Math.floor((d.getTime() - (new Date()).getTime()) / 1000);\n }\n catch (_) {\n // Nope! This is not a date.\n const b = createBackoffTime();\n if (!b)\n return;\n backoff = b;\n }\n }\n else {\n backoff = headerParsed;\n }\n }\n else {\n const b = createBackoffTime();\n if (!b)\n return;\n backoff = b;\n }\n // Create the console warning.\n console.warn(`${input} has returned a status ${r.status}. Backing off for ${backoff} second(s).`);\n // Wait for the backoff period.\n await new Promise(x => setTimeout(x, backoff * 1000));\n }\n});\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst backoffFetch_1 = require(\"./backoffFetch\");\nexports.default = async (name, type) => {\n return await (0, backoffFetch_1.default)(`https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(name)}&type=${encodeURIComponent(type)}`, {\n headers: {\n Accept: \"application/dns-json\",\n },\n });\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (text) => {\n const map = [\n [//g, \">\"],\n [/'/g, \"'\"],\n [/\"/g, \""\"],\n ];\n map.forEach(item => {\n text = text.replace(item[0], item[1]);\n });\n return text;\n};\n","\"use strict\";\n/*\nCopyright 2019 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSkeletonStyle = exports.getRandomInt = void 0;\nconst getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nexports.getRandomInt = getRandomInt;\nconst getSkeletonStyle = (min, max, size = 1) => {\n return {\n height: `${size}em`,\n margin: `${size * .35}em 0`,\n background: `hsl(0, 0%, ${(0, exports.getRandomInt)(80, 90)}%)`,\n borderRadius: `${size * .5}em`,\n width: `${(0, exports.getRandomInt)(min, max)}px`,\n opacity: `${(0, exports.getRandomInt)(20, 30) / 100}`,\n animationDelay: `${(0, exports.getRandomInt)(0, 600)}ms`,\n animationDuration: `${(0, exports.getRandomInt)(900, 1200)}ms`,\n };\n};\nexports.getSkeletonStyle = getSkeletonStyle;\n","\"use strict\";\n/*\nCopyright 2022 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst cfDNS_1 = require(\"./cfDNS\");\nconst sanitize_1 = require(\"./sanitize\");\nconst i18n_1 = require(\"../i18n\");\nconst stripHttps = /(https*:\\/\\/)*(.+)*/;\nconst isHostname = /.*\\.[a-z]+/;\nexports.default = async (name) => {\n // Strip http(s) from the input\n const regexpExec = stripHttps.exec(name.toLowerCase());\n if (regexpExec === null)\n return [null, i18n_1.default.common.invalidDomain];\n // Attempt to determine the hostname\n const text = regexpExec[2] ? regexpExec[2].replace(/\\//g, \"\") : \"\";\n if (!text.match(isHostname))\n return [null, i18n_1.default.common.invalidDomain];\n // Talk to Cloudflare to validate the domain exists\n const domainLookup = await (0, cfDNS_1.default)(text, \"NULL\");\n let json;\n try {\n json = await domainLookup.json();\n }\n catch (_a) {\n // Sometimes Cloudflare's DNS sends invalid JSON in the event that it is invalid.\n // That has happened here.\n return [null, i18n_1.default.common.invalidDomain];\n }\n if (json.Status !== 0) {\n let msg = i18n_1.default.common.invalidDomain;\n if (json.Comment)\n msg += `

${(0, sanitize_1.default)(json.Comment.toString())}`;\n return [null, msg];\n }\n // It's legit\n return [text, null];\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","\n// WebpackRequireFrom\ntypeof __webpack_require__ !== \"undefined\" && Object.defineProperty(__webpack_require__, \"p\", {\n get: function () {\ntry {\n if (typeof __webpackDynamicImportURL !== \"function\") {\n throw new Error(\"WebpackRequireFrom: '__webpackDynamicImportURL' is not a function or not available at runtime. See https://github.com/agoldis/webpack-require-from#troubleshooting\");\n }\n return __webpackDynamicImportURL();\n} catch (e) {\n if (!true) {\n console.error(e);\n }\n return \"./\";\n}\n },\n set: function (newPublicPath) {\n console.warn(\"WebpackRequireFrom: something is trying to override webpack public path. Ignoring the new value\" + newPublicPath + \".\");\n}\n});","/*\nCopyright 2021 DigitalOcean\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nconst originalSrcDir = document.currentScript.src.split('/').slice(0, -1).join('/') + '/';\nwindow.__webpackDynamicImportURL = () => {\n console.info(`Using ${originalSrcDir} for webpack dynamic import`);\n return originalSrcDir;\n};\n","function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction(\n (str) => str.charAt(0).toUpperCase() + str.slice(1)\n);\nconst toHandlerKey = cacheStringFunction(\n (str) => str ? `on${capitalize(str)}` : ``\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_WHITE_LISTED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console\";\nconst isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value)) {\n return value;\n } else if (isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst get$1 = /* @__PURE__ */ createGetter();\nconst shallowGet = /* @__PURE__ */ createGetter(false, true);\nconst readonlyGet = /* @__PURE__ */ createGetter(true);\nconst shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly2 = false, shallow = false) {\n return function get2(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /* @__PURE__ */ createSetter();\nconst shallowSet = /* @__PURE__ */ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set2(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n },\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /* @__PURE__ */ extend(\n {},\n mutableHandlers,\n {\n get: shallowGet,\n set: shallowSet\n }\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ extend(\n {},\n readonlyHandlers,\n {\n get: shallowReadonlyGet\n }\n);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(\n source,\n key,\n defaultValue\n );\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyWhitelisted, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? start = middle + 1 : end = middle;\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some(\n (v, i) => hasChanged(v, oldValue[i])\n ) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el._leaveCb) {\n el._leaveCb(\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate \n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./dodns.vue?vue&type=template&id=5ea72ab9\"\nimport script from \"./dodns.vue?vue&type=script&lang=js\"\nexport * from \"./dodns.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./dodns.vue?vue&type=template&id=41517545\"\nimport script from \"./dodns.vue?vue&type=script&lang=js\"\nexport * from \"./dodns.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","/*!\n * vue-tippy v6.2.0\n * (c) 2023 \n * @license MIT\n */\nimport { getCurrentInstance, ref, onMounted, onUnmounted, isRef, isReactive, watch, isVNode, render as render$1, h, defineComponent, nextTick, unref, reactive } from 'vue';\n\nvar top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar popper = 'popper';\nvar reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar applyStyles$1 = {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};\n\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nvar max = Math.max;\nvar min = Math.min;\nvar round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (isHTMLElement(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = round(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = round(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}\n\n// means it doesn't take into account transforms.\n\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}\n\nfunction contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}\n\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}\n\nfunction getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\nfunction withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}\n\nfunction getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}\n\nfunction mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}\n\nfunction expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect$1(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar arrow$1 = {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect$1,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};\n\nfunction getVariation(placement) {\n return placement.split('-')[1];\n}\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar computeStyles$1 = {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};\n\nvar passive = {\n passive: true\n};\n\nfunction effect$2(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar eventListeners = {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect$2,\n data: {}\n};\n\nvar hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\nvar hash$1 = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash$1[matched];\n });\n}\n\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n\nfunction getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n\nfunction rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body' && (canEscapeClipping ? getComputedStyle(clippingParent).position !== 'static' : true);\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nfunction computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n }\n }\n\n return offsets;\n}\n\nfunction detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n\nfunction computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements$1.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements$1;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar flip$1 = {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar hide$1 = {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar offset$1 = {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar popperOffsets$1 = {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};\n\nfunction getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min$1 = offset + overflow[mainSide];\n var max$1 = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar preventOverflow$1 = {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};\n\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nfunction orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n\nfunction debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}\n\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nvar defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n/**!\n* tippy.js v6.3.7\n* (c) 2017-2021 atomiks\n* MIT License\n*/\n\nvar ROUND_ARROW = '';\nvar BOX_CLASS = \"tippy-box\";\nvar CONTENT_CLASS = \"tippy-content\";\nvar BACKDROP_CLASS = \"tippy-backdrop\";\nvar ARROW_CLASS = \"tippy-arrow\";\nvar SVG_ARROW_CLASS = \"tippy-svg-arrow\";\nvar TOUCH_OPTIONS = {\n passive: true,\n capture: true\n};\nvar TIPPY_DEFAULT_APPEND_TO = function TIPPY_DEFAULT_APPEND_TO() {\n return document.body;\n};\nfunction getValueAtIndexOrReturn(value, index, defaultValue) {\n if (Array.isArray(value)) {\n var v = value[index];\n return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v;\n }\n\n return value;\n}\nfunction isType(value, type) {\n var str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(type + \"]\") > -1;\n}\nfunction invokeWithArgsOrReturn(value, args) {\n return typeof value === 'function' ? value.apply(void 0, args) : value;\n}\nfunction debounce$1(fn, ms) {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n var timeout;\n return function (arg) {\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n fn(arg);\n }, ms);\n };\n}\nfunction removeProperties(obj, keys) {\n var clone = Object.assign({}, obj);\n keys.forEach(function (key) {\n delete clone[key];\n });\n return clone;\n}\nfunction splitBySpaces(value) {\n return value.split(/\\s+/).filter(Boolean);\n}\nfunction normalizeToArray(value) {\n return [].concat(value);\n}\nfunction pushIfUnique(arr, value) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\nfunction unique(arr) {\n return arr.filter(function (item, index) {\n return arr.indexOf(item) === index;\n });\n}\nfunction getBasePlacement$1(placement) {\n return placement.split('-')[0];\n}\nfunction arrayFrom(value) {\n return [].slice.call(value);\n}\nfunction removeUndefinedProps(obj) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nfunction div() {\n return document.createElement('div');\n}\nfunction isElement$1(value) {\n return ['Element', 'Fragment'].some(function (type) {\n return isType(value, type);\n });\n}\nfunction isNodeList(value) {\n return isType(value, 'NodeList');\n}\nfunction isMouseEvent(value) {\n return isType(value, 'MouseEvent');\n}\nfunction isReferenceElement(value) {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\nfunction getArrayOfElements(value) {\n if (isElement$1(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\nfunction setTransitionDuration(els, value) {\n els.forEach(function (el) {\n if (el) {\n el.style.transitionDuration = value + \"ms\";\n }\n });\n}\nfunction setVisibilityState(els, state) {\n els.forEach(function (el) {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\nfunction getOwnerDocument(elementOrElements) {\n var _element$ownerDocumen;\n\n var _normalizeToArray = normalizeToArray(elementOrElements),\n element = _normalizeToArray[0]; // Elements created via a