diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a1ac679 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2023 Pablo Fernandez + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/assets/img/03_Clouds.webp b/assets/img/03_Clouds.webp new file mode 100644 index 0000000..e01be65 Binary files /dev/null and b/assets/img/03_Clouds.webp differ diff --git a/assets/img/07_Clouds.webp b/assets/img/07_Clouds.webp new file mode 100644 index 0000000..9717e4f Binary files /dev/null and b/assets/img/07_Clouds.webp differ diff --git a/assets/img/about-1.webp b/assets/img/about-1.webp new file mode 100644 index 0000000..52f98ae Binary files /dev/null and b/assets/img/about-1.webp differ diff --git a/assets/img/about-2.webp b/assets/img/about-2.webp new file mode 100644 index 0000000..a965ec5 Binary files /dev/null and b/assets/img/about-2.webp differ diff --git a/assets/img/about-3.webp b/assets/img/about-3.webp new file mode 100644 index 0000000..23677b3 Binary files /dev/null and b/assets/img/about-3.webp differ diff --git a/assets/img/apk_badge.png b/assets/img/apk_badge.png index 477383d..e766afb 100644 Binary files a/assets/img/apk_badge.png and b/assets/img/apk_badge.png differ diff --git a/assets/img/banga-icon.png b/assets/img/banga-icon.png new file mode 100644 index 0000000..db9a907 Binary files /dev/null and b/assets/img/banga-icon.png differ diff --git a/assets/img/be-your-own-bank.png b/assets/img/be-your-own-bank.png index 0b00d18..849d1e5 100644 Binary files a/assets/img/be-your-own-bank.png and b/assets/img/be-your-own-bank.png differ diff --git a/assets/img/be-your-own-bank.webp b/assets/img/be-your-own-bank.webp new file mode 100644 index 0000000..641b76c Binary files /dev/null and b/assets/img/be-your-own-bank.webp differ diff --git a/assets/img/bg-light-mob.webp b/assets/img/bg-light-mob.webp new file mode 100644 index 0000000..2599b97 Binary files /dev/null and b/assets/img/bg-light-mob.webp differ diff --git a/assets/img/bg-stream-lit-2.webp b/assets/img/bg-stream-lit-2.webp new file mode 100644 index 0000000..209dc75 Binary files /dev/null and b/assets/img/bg-stream-lit-2.webp differ diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico new file mode 100644 index 0000000..1d7600a Binary files /dev/null and b/assets/img/favicon.ico differ diff --git a/assets/img/google-play-badge.png b/assets/img/google-play-badge.png index b3d48fa..48a7290 100644 Binary files a/assets/img/google-play-badge.png and b/assets/img/google-play-badge.png differ diff --git a/assets/img/ios-badge.png b/assets/img/ios-badge.png index 204f738..441f132 100644 Binary files a/assets/img/ios-badge.png and b/assets/img/ios-badge.png differ diff --git a/assets/img/machankura-phone.png b/assets/img/machankura-phone.png new file mode 100644 index 0000000..6b74883 Binary files /dev/null and b/assets/img/machankura-phone.png differ diff --git a/assets/img/phones-alt-2.png b/assets/img/phones-alt-2.png index f67fde9..43df469 100644 Binary files a/assets/img/phones-alt-2.png and b/assets/img/phones-alt-2.png differ diff --git a/assets/img/phones-des.png b/assets/img/phones-des.png new file mode 100644 index 0000000..43df469 Binary files /dev/null and b/assets/img/phones-des.png differ diff --git a/assets/img/phones-des.webp b/assets/img/phones-des.webp new file mode 100644 index 0000000..4cd9b21 Binary files /dev/null and b/assets/img/phones-des.webp differ diff --git a/assets/img/phones-mob.png b/assets/img/phones-mob.png new file mode 100644 index 0000000..15c4176 Binary files /dev/null and b/assets/img/phones-mob.png differ diff --git a/assets/img/phones-mob.webp b/assets/img/phones-mob.webp new file mode 100644 index 0000000..db4a830 Binary files /dev/null and b/assets/img/phones-mob.webp differ diff --git a/assets/img/pwaNeutralBadge.svg b/assets/img/pwaNeutralBadge.svg new file mode 100644 index 0000000..36f6fd6 --- /dev/null +++ b/assets/img/pwaNeutralBadge.svg @@ -0,0 +1,2314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + File not found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ Skip to content + + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + + + + +
+
+ + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + diekus  /   + diekus.github.io  /   + +
+
+ + + +
+ + +
+
+ Clear Command Palette +
+
+ + + +
+
+ Tip: + Type # to search pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search discussions +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type ! to search projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search teams +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search people and organizations +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type > to activate command mode +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Go to your accessibility settings to change your keyboard shortcuts +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type author:@me to search your content +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:pr to filter to pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:issue to filter to issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:project to filter to projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:open to filter to open content +
+
+ Type ? for help and tips +
+
+
+ +
+ +
+
+ We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. +
+
+ + No results matched your search + + + + + + + + + + +
+ + + + + Search for issues and pull requests + + # + + + + Search for issues, pull requests, discussions, and projects + + # + + + + Search for organizations, repositories, and users + + @ + + + + Search for projects + + ! + + + + Search for files + + / + + + + Activate command mode + + > + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Filter to pull requests + + # is:pr + + + + Filter to issues + + # is:issue + + + + Filter to discussions + + # is:discussion + + + + Filter to projects + + # is:project + + + + Filter to open issues, pull requests, and discussions + + # is:open + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ + + + / + + diekus.github.io + + + Public +
+ + +
+ +
+
    + + + +
  • + +
    + + + +
    + +
    +
  • + +
  • +
    +
    + Fork + 0 + Fork your own copy of diekus/diekus.github.io +
    +
    + + + +
    + +
    +
    + + + + + + + +
    + +
    +
    +
    +
    +
  • + +
  • + + +
    +
    +
    + + +
    + + + +
    + +
    +
    + + + + + + + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    + + + +
    + +
    +
    + + + + + + + +
    + +
    +
    +
    +
    +
    +
  • + + + + +
+ +
+
+ +
+
+ + + + +
+ + + + + + +
+ Open in github.dev + Open in a new github.dev tab + Open in codespace + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ + + diff --git a/assets/img/pwa_badge.png b/assets/img/pwa_badge.png index 7f3146b..2d80193 100644 Binary files a/assets/img/pwa_badge.png and b/assets/img/pwa_badge.png differ diff --git a/css/main.css b/css/main.css index 3b98fa7..55023ea 100644 --- a/css/main.css +++ b/css/main.css @@ -100,6 +100,7 @@ main { } .container { max-width: 1200px; + width: 100%; margin-left: auto; margin-right: auto; } @@ -290,7 +291,7 @@ header .container { /* Download/Hero Page */ main { - background-image: url(../assets/img/bg-stream-lit-2.png); + background-image: url(../assets/img/bg-stream-lit-2.webp); background-size: contain; background-position: left top; background-repeat: no-repeat; @@ -333,6 +334,10 @@ main { } .downloads-container { max-width: 75%; + /* ! NEW */ + display: flex; + flex-wrap: wrap; + gap: calc(var(--padding-gen) / 4); } .downloads-container a { outline: none; @@ -1354,6 +1359,9 @@ footer { padding-top: 0; padding-bottom: var(--padding-gen); } + .downloads-container { + max-width: none; /* !NEW */ + } .downloads-container img { height: 40px; } @@ -1452,6 +1460,10 @@ footer { } @media screen and (max-width: 450px) { + main { + background-image: url(../assets/img/bg-light-mob.webp); + background-size: auto; + } .banner-left { position: relative; z-index: 2; diff --git a/css/main.min.css b/css/main.min.css new file mode 100644 index 0000000..1fc26b2 --- /dev/null +++ b/css/main.min.css @@ -0,0 +1 @@ +*, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}:root {--padding-gen: 20px;--padding-nav: 30px;--padding-section: 120px;--flash-yellow: #fff200;--flash-green: #41ad49;--flash-red: #d12229;--flash-off-white: #eeeeee;--flash-white: #ffffff;--flash-black: #000000;--flash-placeholder-colour: #929292;--flash-darkmode-border: #151515;--flash-darkmode-txtbg: #030503;--roboto: 'Roboto', sans-serif;;--montserrat: 'Montserrat', sans-serif;--fSize-default: 18px;--fSize-label: 14px;--fSize-placeholder: 18px;--fSize-section-header: calc(2 * var(--fSize-default));--fSize-med: 20px;--fSize-lg: 28px;--fSize-banner: 65px;--fWeight-reg: 400;--fWeight-med: 500;--fWeight-bold: 700;--transition-time: 350ms;--border-radius: 6px;font-family: var(--roboto);font-size: var(--fSize-default);font-weight: var(--fWeight-reg);}html {scroll-behavior: smooth;}body.light-mode {--bg-body: var(--flash-white);--box-shadow: #00000025;--text-colour: var(--flash-black);}body.dark-mode {--bg-body: var(--flash-black);--box-shadow: #3d3d3d18;--text-colour: var(--flash-white);}body.light-mode .dark {display: none;}body.dark-mode .light {display: none;}.warning {color: var(--flash-red);}.highlight {color: var(--flash-green);font-weight: var(--fWeight-bold);}.spacer {margin-bottom: var(--padding-gen);}body {--_dark-transition: calc(var(--transition-time) * .8);background-color: var(--bg-body);color: var(--text-colour);transition: color var(--_dark-transition), background-color var(--_dark-transition);}main {max-width: 100vw;overflow: hidden;}.container {max-width: 1200px;width: 100%;margin-left: auto;margin-right: auto;}section:not(.pg-download) > * {padding-top: var(--padding-section);}main section:last-of-type {margin-bottom: var(--padding-section);}input, textarea {color: var(--text-colour);}input::placeholder, textarea::placeholder {color: var(--flash-placeholder-colour);opacity: 1;}input:-ms-input-placeholder, textarea:-ms-input-placeholder {color: var(--flash-placeholder-colour);opacity: 1;}input, textarea, button {font-family: 'Roboto', sans-serif;font-size: var(--fSize-default);outline: none;}textarea {padding-top: 5px;padding-bottom: 5px;}textarea.error::placeholder {color: var(--flash-red);}textarea.error:-ms-input-placeholder {color: var(--flash-red);}h2 {font-size: var(--fSize-section-header);font-weight: var(--fWeight-med);margin-bottom: 50px;}h3 {font-size: var(--fSize-lg);font-weight: var(--fWeight-med);}h4 {font-size: var(--fSize-med);font-weight: var(--fWeight-med);}h5 {font-size: var(--fSize-default);font-weight: var(--fWeight-med);}img {max-width: 100%;height: auto;}.col-2-even {display: grid;grid-template-columns: 50% 1fr;gap: 40px;}.col-3 {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: var(--padding-gen);}a:not(.no-style) {color: inherit;text-decoration: none;outline: none;transition: color var(--transition-time);box-shadow: 0 3px 0 var(--flash-green);position: relative;}.custom-link {outline: none;transition: color var(--transition-time);box-shadow: 0 3px 0 var(--flash-green);position: relative;cursor: pointer;}a:not(.no-style)::after, .custom-link::after {content:"";position: absolute;bottom: -3px;right: 0;height: 3px;width: 100%;background: var(--bg-body);transition: width var(--transition-time);}a:visited {color: inherit;}a:hover, a:focus-visible, .nav-link.active, .custom-link:hover, .custom-link:focus-visible {color: var(--flash-green);}a:hover::after, a:focus-visible::after, .custom-link:hover::after, .custom-link:focus-visible::after {width: 20%;}a.greenlink {color: var(--flash-green);}button:not(.accordion-head) {padding: 0 40px;height: 40px;border-radius: 20px;border-width: 2px;border-style: solid;transition: all var(--transition-time);font-weight: var(--fWeight-med);cursor: pointer;}.button-1 {background-color: var(--flash-black);border-color: var(--flash-black);color: var(--flash-white);}.dark-mode .button-1 {background-color: var(--flash-yellow);border-color: var(--flash-yellow);color: var(--flash-black);}.button-2 {border-color: var(--text-colour);background-color: var(--bg-body);color: var(--text-colour);}button:hover:not(.accordion-head), button:focus-visible:not(.accordion-head) {background-color: var(--flash-green);border-color: var(--flash-green);color: var(--flash-white);}header {position: fixed;z-index: 999;top: 0;width: 100%;box-shadow: 0 4px 8px var(--box-shadow);background-color: var(--bg-body);}header .container {display: flex;align-items: center;justify-content: space-between;padding: 10px 0;}.main-nav {list-style: none;display: flex;gap: var(--padding-nav);font-family: var(--montserrat);font-weight: var(--fWeight-bold);}.nav-icon path, .nav-icon line {stroke: var(--text-colour);}.logo-container {height: 40px;}.logo-container a:hover::after {width: 100% !important;}.logo-container img {max-height: 100%;width: auto;}main {background-image: url(../assets/img/bg-stream-lit-2.webp);background-size: contain;background-position: left top;background-repeat: no-repeat;}.pg-download {display: grid;grid-template-areas: "hero";position: relative;}.dark-mode .pg-download {background: rgba(0,0,0,0.3);}.pg-download canvas {grid-area: hero;background-color: transparent;}.pg-download .container {min-height: 100vh;min-height: 100svh;grid-area: hero;}.banner-left {align-self: center;}.banner-txt {font-family: var(--montserrat);font-weight: bold;font-size: var(--fSize-banner);margin-bottom: calc(var(--padding-gen) / 2);line-height: 1.1;}.banner-highlight {color: var(--flash-green);font-style: italic;}.pg-download p {font-size:var(--fSize-med);font-weight: var(--fWeight-med);margin-bottom: var(--padding-gen);}.downloads-container {max-width: 75%;display: flex;flex-wrap: wrap;gap: calc(var(--padding-gen) / 4) var(--padding-gen);}.downloads-container a {outline: none;box-shadow: none;}.downloads-container a::after {content:"";position: absolute;bottom: -3px;left: 0;height: 3px;width: 0;background: var(--flash-green);transition: width var(--transition-time);}.downloads-container a:focus-visible::after {width: 80%;}.downloads-container img {height: 50px;width: auto;cursor: pointer;}.banner-right {--_padding-top: 65px;padding-top: var(--_padding-top);align-self: center;}.banner-right .hero-img-2 {position: relative;z-index: 1;max-width: 100%;height: auto;}.dark-mode .pg-about {background: rgba(0,0,0,0.3);}.bg-yellow {background-color: var(--flash-yellow);}.dark-mode .bg-yellow {background-color: var(--bg-body);background-color: transparent;}.mar-top-60 {margin-top: 60px;}.about-banner-left {padding-bottom: var(--padding-section);align-self: center;position: relative;z-index: 1;}.about-banner h2 {margin-bottom: 5px;}.about-banner p {font-size: var(--fSize-med);}.about-banner h3 {margin-bottom: 5px;}.about-banner-right {position: relative;}.about-banner-right .mtn-img {max-width: none;width: min(100%, 600px);display: block;}.mtn-img-container {position: relative;}.mtn-img-container #mtn-clouds {position: absolute;bottom: -20%;left: -10%;z-index: 1;pointer-events: none;touch-action: none;max-width: 120%;height: auto;}.mtn-img-container canvas {position: absolute;z-index: -1;}#user-lightning {z-index: 1;top: 70%;min-height: 200px;}.dark-mode .mtn-img-container::after {content: '';position: absolute;bottom: 0;left: 0;width: 100%;height: 50px;background-image: linear-gradient(transparent, var(--bg-body));z-index: 0;}.slider-container {display: grid;grid-template-columns: 30% 1fr;grid-template-rows: min-content 1fr;gap: 30px;}.slider-tabs {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: var(--padding-gen);padding: calc(var(--padding-gen) * 5) 0 calc(var(--padding-gen) * 1);margin-bottom: 60px;scroll-behavior: smooth;}.dark-mode .slider-tab {border-color: var(--flash-darkmode-border);border-bottom-color: var(--text-colour);}.slider-tab {border: 1px solid var(--flash-off-white);border-bottom-width: 4px;border-bottom-color: var(--text-colour);border-radius: var(--border-radius);background-color: var(--bg-body);padding: calc(var(--padding-gen) * 2) var(--padding-gen) calc(var(--padding-gen) * 3);position: relative;height: min-content;cursor: pointer;transition: transform 0.5s ease;}.hover-effect, .slider-tab.active, .slider-tab:hover, .slider-tab:focus-visible {border-bottom-color: var(--flash-green);outline: none;transform: scale(1.25);z-index: 1;}.slider-tab h3 {margin-bottom: 15px;width: max-content;}.slider-tab h3 {box-shadow: 0 3px 0 var(--flash-green);position: relative;}.slider-tab h3::after {content:"";position: absolute;bottom: -3px;right: 0;height: 3px;width: 100%;background: var(--bg-body);transition: width var(--transition-time);}.hover-effect h3::after, .slider-tab.active h3::after, .slider-tab:hover h3::after, .slider-tab:focus-visible h3::after {width: 30%;}.slider-tab img {position: absolute;right: 0;top: 100%;transform: translateY(-50%);max-width: 65px;height: auto;transition: all var(--transition-time);}.hover-effect img, .slider-tab.active img, .slider-tab:hover img, .slider-tab:focus-visible img {max-width: 100%;}.slider-msg-container {grid-column: 2/-1;grid-row: 2/-1;}.slider-msg {background: var(--flash-white);padding: var(--padding-gen) calc(var(--padding-gen) / 1.5);font-size: var(--fSize-med);position: relative;overflow: hidden;}.dark-mode .slider-msg {background: var(--flash-darkmode-txtbg);}.slider-imgs {overflow-x: auto;grid-row: 1/-1;align-self: center;display: grid;grid-template-columns: 1fr;grid-template-rows: 1fr;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.slider-imgs img {max-width: 100%;height: auto;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.slide {--_scale: 1.13;--_slide-transition: 750ms;grid-column: 1/-1;grid-row: 1/-1;position: relative;background-size: contain;background-repeat: no-repeat;background-position: top center;transition: scale var(--transition-time);cursor: pointer;animation-duration: var(--_slide-transition);animation-fill-mode: forwards;animation-timing-function: ease-in-out;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.slide::after {content: '';position: relative;left: 0;width: 100%;border-color: var(--bg-body);border-style: solid;border-width: 0;height: 34%;z-index: 2;transition: height var(--_slide-transition) ease-in-out;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.slide:nth-child(1) {clip-path: inset(0 0 67% 0);}.slide:nth-child(1)::after {top: 0;border-bottom-width: 3px;}.slide:nth-child(2) {clip-path: inset(34% 0 34% 0);}.slide:nth-child(2)::after {top: 34%;bottom: 34%;}.slide:nth-child(3) {clip-path: inset(67% 0 0 0);}.slide:nth-child(3)::after {bottom: 0;border-top-width: 3px;}.slide.active::after {height: 100%;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.push-effect, .slide:not(.active):hover {scale: var(--_scale);z-index: 3;scrollbar-width: none;-ms-overflow-style: none;overflow: hidden;}.slide:not(.active):hover::after {border-top-width: 0;border-bottom-width: 0;}@keyframes top-down {0% {clip-path: inset(0% 0% 67% 0%);}100% {clip-path: inset(0%);}}@keyframes top-up {0% {clip-path: inset(0%);}100% {clip-path: inset(0% 0% 67% 0%);}}@keyframes mid-out {0% {clip-path: inset(34% 0% 34% 0%);}100% {clip-path: inset(0%);}}@keyframes mid-in {0% {clip-path: inset(0%);}100% {clip-path: inset(34% 0% 34% 0%);}}@keyframes btm-up {0% {clip-path: inset(67% 0% 0% 0%);}100% {clip-path: inset(0%);}}@keyframes btm-down {0% {clip-path: inset(0%);}100% {clip-path: inset(67% 0% 0% 0%);}}.accordion {position: relative;z-index: 9;}.accordion-tab {--_head-height: 50px;margin-bottom: 5px;}.accordion-head {display: grid;grid-template-columns: 70px 1fr;width: 100%;min-height: var(--_head-height);align-content: center;text-align: left;background-color: inherit;border-top-width: 0;border-left-width: 0;border-right-width: 0;border-bottom: 2px solid var(--flash-green);border-bottom-right-radius: 10px;color: var(--text-colour);cursor: pointer;transition: color var(--transition-time), opacity var(--transition-time);}.accordion-head:hover, .accordion-head:focus-visible {color: var(--flash-green);}.accordion-label {font-size: var(--fSize-med);font-weight: var(--fWeight-med);}.accordion-head svg {width: 17px;height: 100%;margin-left: var(--padding-gen);}.accordion-head .plus, .accordion-head .minus {fill: var(--flash-green);}.accordion-body p, .accordion-body li {margin-bottom: 15px;}.accordion-body ol {padding-bottom: 10px;}.accordion-body li {margin-left: 40px;}.accordion-body {color: var(--text-colour);max-height: 0;overflow: hidden;padding: 0 70px;will-change: max-height;transition: max-height var(--transition-time) ease-out;}.accordion-body > *:first-child {margin-top: var(--padding-gen);}.accordion-body > *:last-child {margin-bottom: var(--padding-gen);}.accordion-body > * {opacity: 0;transition: opacity var(--transition-time);}.accordion-tab[data-active='active'] .accordion-body > * {opacity: 1;}.accordion-tab[data-active='inactive'] .plus {opacity: 1;}.accordion-tab[data-active='inactive'] .minus {opacity: 0;}.accordion-tab[data-active='active'] .plus {opacity: 0;}.accordion-tab[data-active='active'] .minus {opacity: 1;}.forms-bg {position: relative;min-height: 570px;}.cloud-bg {position: absolute;z-index: 2;top: -55%;left: -5%;display: block;width: 110%;pointer-events: none;touch-action: none;}.dark-mode .cloud-bg {opacity: .3;}.dark-mode .cloud-bg.fade-in {opacity: .7;transition: opacity var(--transition-time);}.dark-mode .cloud-bg.fade-out {opacity: .3;transition: opacity calc(1667ms - 1.8 * var(--transition-time));}.cloud-bg .cloud-contact {width: 100%;height: auto;}.contact-content {position: absolute;top: 0;}.dark-mode .forms-bg {background-color: transparent;}.forms-bg > *:not(canvas, .cloud-bg) {position: relative;z-index: 2;}.forms-bg canvas {position: absolute;z-index: 1;}.pg-contact .col-2-even {gap: var(--padding-gen);align-items: center;height: 100%;}.pg-contact .col-2-even form {max-width: 430px;}form {display: grid;align-items: center;justify-content: center;grid-template-columns: 1fr;grid-template-rows: 1fr;}form > * {grid-row: 1/-1;grid-column: 1/-1;}.pg-contact label {font-size: var(--fSize-label);margin-left: var(--padding-gen);}.pg-contact input, .pg-contact textarea {display: block;width: 100%;border: 2px solid var(--text-colour);background-color: var(--bg-body);border-radius: var(--border-radius);padding-left: var(--padding-gen);margin-bottom: var(--padding-gen);}.pg-contact input {height: 35px;}.pg-contact textarea {min-height: 170px;}.pg-contact input:focus-visible, .pg-contact textarea:focus-visible {border-color: var(--flash-green);}.button-container {width: 100%;display: flex;justify-content: flex-end;}.pg-contact button {display: flex;gap: 10px;align-items: center;}.pg-contact button svg, .pg-contact button .plus {height: calc(var(--fSize-default) - 5px);width: auto;}.button-1 path {stroke: var(--bg-body);transition: all var(--transition-time);}.dark-mode .button-1:hover path {stroke: var(--flash-white);}.waitlist-form {justify-self: flex-end;}.waitlist-form p {font-size: var(--fSize-default);margin-bottom: var(--padding-gen);}.button-2 .plus {fill: var(--text-colour);transition: all var(--transition-time);}.button-2:hover .plus, .button-2:focus-visible .plus {fill: var(--flash-white);}.form-success {display: none;text-align: center;}.form-success h2 {margin-bottom: 0;}.form-success *:not(svg) {text-align: center;}.success-waitlist h2{margin-bottom: var(--padding-gen);}#success-icon {max-width: 100%;height: auto;margin: calc(var(--padding-gen) * 2) auto;}.envelope path, .envelope line {stroke: var(--text-colour);}.contact-or {font-size: 96px;font-weight: var(--fWeight-bold);text-align: center;opacity: .2;}.form-error {--_bg-error: var(--bg-body);background-color: var(--_bg-error);padding: var(--padding-gen);border: 2px solid var(--text-colour);border-radius: var(--border-radius);margin: var(--padding-gen);}.form-error .btn-container {display: flex;flex-direction: column;}.form-error.hidden {display: none;}.light-mode .form-error {--_bg-error: var(--flash-off-white);}.dark-mode .form-error {--_bg-error: var(--flash-darkmode-txtbg);}.form-error p {margin-bottom: var(--padding-gen);font-size: var(--fSize-default);}.form-error button {background-color: var(--_bg-error);align-self: flex-end;}.darkmode {--_switch-height: 20px;--_switch-width: 40px;height: var(--_switch-height);position: fixed;width: 100%;bottom: var(--padding-gen);z-index: 9;}.switch-container {display: flex;align-items: center;gap: 5px;height: inherit;cursor: pointer;width: 100px;}.switch-container svg {max-height: var(--_switch-height);min-width: 20px;}.switch-container svg > * {stroke: var(--text-colour);}#icon-moon {max-height: calc(var(--_switch-height) - 3px);}.switch {position: relative;display: inline-block;width: var(--_switch-width);height: var(--_switch-height);}.dark-switch {opacity: 0;width: 0;height: 0;}.slider {position: absolute;inset: 0;border: 2px solid var(--text-colour);border-radius: calc(var(--_switch-height) / 2);background-color: var(--bg-body);transition: all var(--transition-time);}.switch-container:hover .slider, .dark-switch:focus-visible ~ .slider{background-color: var(--flash-green);}.dark-mode .switch-container:hover .slider, .dark-mode .dark-switch:focus-visible ~ .slider{background-color: var(--flash-yellow);}.slider::before {content: "";position: absolute;height: calc(var(--_switch-height) - 8px);aspect-ratio: 1;background-color: var(--flash-green);border-radius: 50%;left: 2px;top: 2px;}.dark-mode .slider::before {background-color: var(--flash-yellow);}.dark-switch:checked + .slider::before {left: calc(var(--_switch-width) - var(--_switch-height) + 2px);}.switch-container:hover .slider::before, .dark-switch:focus-visible ~ .slider::before{background-color: var(--bg-body);}.spaceholder {height: 20px;width: 100%;}footer {margin-top: var(--padding-gen);}.footer-top > .container, .footer-btm > .container {display: flex;justify-content: space-between;}.footer-top {background-color: var(--bg-body);box-shadow: 0 -4px 8px var(--box-shadow);}.footer-links {display: flex;align-items: center;gap: var(--padding-gen);}.footer-links .logo {max-width: 175px;margin: 30px 30px 30px 0;}.footer-links a:hover::after {width: 100% !important;}.footer-links .badge {max-height: 52px;width: auto;cursor: pointer;}.footer-links .badge.ios {height: 52px;}.footer-top .credits, .footer-mid {font-size: var(--fSize-label);align-self: center;}.footer-top .credits p, .footer-mid p {margin-bottom: 5px;}.footer-mid {height: 0;transition: height var(--transition-time);overflow: hidden;text-align: right }.footer-mid.open {height: calc(3 * var(--fSize-label));}.footer-btm {background: var(--flash-green);color: var(--flash-black);height: 75px;}.dark-mode .footer-btm {background: var(--flash-yellow);}.footer-btm > .container {height: inherit;align-items: center;}.copyright {font-size: var(--fSize-label);display: flex;align-items: center;gap: 5px;}.copyright span {font-size: var(--fSize-default);}.socials {display: flex;gap: var(--padding-gen);}.socials a {text-decoration: none;}.socials img {max-height: 35px;width: auto;transition: scale calc(var(--transition-time) / 2);}.socials img:hover {scale: 1.1;}.loading-screen {position: fixed;z-index: 99;top: 0;left: 0;width: 100%;height: 100%;background-color: var(--bg-body);display: flex;flex-direction: column;align-items: center;justify-content: center;}.progress-bar {--_bar-height: 5px;--_animation-name: '';width: 60vw;height: var(--_bar-height);border-radius: calc(var(--_bar-height) / 2);background-color: var(--text-colour);position: relative;}.progress-bar::before {content: '';display: block;position: absolute;height: inherit;width: 0;top: 0;left: 0;border-radius: inherit;background-color: var(--flash-green);animation: var(--_animation-name) 2s linear infinite;}@keyframes page-load {0% {width: 0;}100% {width: 100%;}}@media screen and (max-width: 1239px) {.container, header .container {padding-left: var(--padding-gen);padding-right: var(--padding-gen);}.col-2-even {display: block;}.pg-download .col-2-even {display: grid;grid-template-columns: 50% 1fr;gap: 40px;}.about-banner-left {padding-bottom: calc(var(--padding-section) / 2);}.mtn-img {margin-left: auto;margin-right: auto;}.mtn-img-container #mtn-clouds {left: 50%;transform: translateX(-50%);width: min(130%, 630px);}#user-lightning {left: 50%;transform: translateX(-50%);}.slider-tabs {overflow: scroll;height: 370px;margin-bottom: 0;padding-top: calc(var(--padding-gen) * 3);}.slider-tab {min-width: 210px;}.cloud-bg {top: -370px;}.pg-contact form {margin: calc(var(--padding-gen) * 3) auto;}.waitlist-form {padding-top: 60px;}}@media screen and (max-width: 1069px) {.slider-container {grid-template-columns: 30% 1fr;}.slider-imgs {grid-row: 1/2;}.slider-tabs {align-self: center;margin-bottom: 0;padding-top: calc(var(--padding-gen) * 3);}.slider-msg-container {grid-column: 1/-1;}.slider-overlay {width: 0;}.cloud-bg {top: -315px;}.footer-top > .container {flex-direction: column;align-items: center;}.footer-top .credits {align-self: auto;display: flex;flex-wrap: wrap;justify-content: center;column-gap: 20px;margin-bottom: 10px;}.footer-mid {text-align: center;}}@media screen and (max-width: 899px) {.pg-download .col-2-even {--hero-img-height: 60%;grid-template-columns: 1fr;grid-template-rows: auto var(--hero-img-height);height: 100svh;}.download-bg {height: 100% }.download-bg img {margin-top: 0;height: 100%;width: auto;max-width: none;}.banner-left {align-self: flex-end;padding-top: var(--padding-section);}.banner-right {padding-top: 0;justify-self: center;text-align: center;}.mtn-img-container {max-width: 600px;margin: 0 auto;}.cloud-bg {top: -150px;}.cloud-contact.desktop-only {display: none;}.cloud-contact.mobile-only {display: block;}}@media screen and (min-width: 800px) {.mobile-only {display: none;}}@media screen and (max-width:799px) {.desktop-only {display: none;}nav {position: relative;}.main-nav {position: fixed;top: 0;height: 100vh;right: 0;flex-direction: column;min-width: min(60vw, 250px);padding: var(--padding-gen);background-color: var(--bg-body);box-shadow: -4px 0 8px var(--box-shadow);transition: transform var(--transition-time);}.main-nav[data-mob-state='closed'] {transform: translateX(100%);}.main-nav[data-mob-state='open'] {transform: translateX(0);}.main-nav li {transition: opacity 100ms;}.main-nav > li:first-child {margin-bottom: calc(var(--padding-nav) * 2);text-align: right;}.slider-container {grid-template-columns: 40% 1fr;}.footer-links .logo {margin-right: 0;}.footer-links a {display: none;}}@media screen and (max-width: 619px) {body {--fSize-default: 14px;--fSize-section-header: 32px;--fSize-med: 16px;--fSize-lg: 18px;--fSize-banner: 48px;}input, textarea, button {font-size: var(--fSize-lg);}main {background-size: 200%;}.pg-download {background-position: center left;}.pg-download .col-2-even {display: block;padding-top: var(--padding-section);}.banner-left {padding-top: 0;padding-bottom: var(--padding-gen);}.downloads-container {max-width: none;}.downloads-container img {height: 40px;}.mar-top-60 {margin-top: 30px;}.about-banner-left {padding-bottom: var(--padding-gen);}.about-banner-right .mtn-img {max-width: max(70vw, 320px);}.about-banner-right::before {width: auto;left: calc(var(--padding-gen) * -1);right: calc(var(--padding-gen) * -1);}#user-lightning {left: calc(var(--padding-gen) * -1);transform: translateX(0);}.slider-container {grid-template-rows: max-content auto 1fr;}.frame-container {grid-template-rows: 1fr;grid-template-columns: 1fr min(70vw, 320px) 1fr;grid-template-areas: "a frame b";}.slider-overlay {width: 100%;}.slider-imgs, .slider-tabs, .slider-msg-container {grid-column: 1/-1;}.slider-imgs img {max-width: min(71vw, 320px);}.slider-msg-container {grid-row: 3/-1;}.slider-tabs {padding-top: var(--padding-gen);padding-bottom: 0;height: 250px;}.slider-tabs h3 {font-size: calc(var(--fSize-med) * 1.5);}.slider-tab {padding: var(--padding-gen) var(--padding-gen) calc(var(--padding-gen) * 2);}.slider-tab p {font-size: var(--fSize-med);margin-top: var(--padding-gen);}.slider-msg {font-size: var(--fSize-lg);}.slide {text-align: center;}.phone-frame {left: 50%;transform:translateX(-50%);}.accordion-head {grid-template-columns: 30px 1fr;}.accordion-head svg {width: 14px;margin-left: 0;}.accordion-tab[data-active="active"] .accordion-body {padding: var(--padding-gen) 30px var(--padding-gen) 10px;}.accordion-body {font-size: var(--fSize-med);}.cloud-bg {top: -135px;}.pg-contact button svg, .pg-contact button .plus {height: calc(var(--fSize-lg) - 5px);}.footer-btm > .container {flex-direction: column-reverse;align-items: center;justify-content: center;}}@media screen and (max-width: 450px) {main {background-image: url(../assets/img/bg-light-mob.webp);background-size: auto;}.banner-left {position: relative;z-index: 2;}.dark-mode .pg-download {background-color: rgba(0,0,0,0.4);}.cloud-bg {top: -90px;}.footer-top .credits {font-size: 12px;}} \ No newline at end of file diff --git a/css/support.css b/css/support.css new file mode 100644 index 0000000..5bb1138 --- /dev/null +++ b/css/support.css @@ -0,0 +1,1688 @@ +.qr.svelte-2fcki1.svelte-2fcki1 { + display: block; + shape-rendering: crispEdges; + transform: translateZ(0) +} + +.qr.svelte-2fcki1 rect.svelte-2fcki1 { + fill: var(--qr-color, 'currentColor') +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j, +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.gap-1.svelte-1x5ct6j { + gap: 0.25rem +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.bg-white.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) +} + +.bg-purple-900.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(88 28 135 / var(--tw-bg-opacity)) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.p-4.svelte-1x5ct6j { + padding: 1rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.font-bold.svelte-1x5ct6j { + font-weight: 700 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-200.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)) +} + +.text-gray-600.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)) +} + +.text-gray-400.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)) +} + +.text-gray-300.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)) +} + +.hover\:bg-purple-700.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +img.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +img.svelte-1x5ct6j { + max-width: 100%; + height: auto +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.absolute.svelte-1x5ct6j { + position: absolute +} + +.relative.svelte-1x5ct6j { + position: relative +} + +.z-10.svelte-1x5ct6j { + z-index: 10 +} + +.my-4.svelte-1x5ct6j { + margin-top: 1rem; + margin-bottom: 1rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.ml-5.svelte-1x5ct6j { + margin-left: 1.25rem +} + +.mt-10.svelte-1x5ct6j { + margin-top: 2.5rem +} + +.mt-1.svelte-1x5ct6j { + margin-top: 0.25rem +} + +.block.svelte-1x5ct6j { + display: block +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.h-8.svelte-1x5ct6j { + height: 2rem +} + +.h-12.svelte-1x5ct6j { + height: 3rem +} + +.max-h-64.svelte-1x5ct6j { + max-height: 16rem +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.w-8.svelte-1x5ct6j { + width: 2rem +} + +.w-12.svelte-1x5ct6j { + width: 3rem +} + +.min-w-fit.svelte-1x5ct6j { + min-width: -moz-fit-content; + min-width: fit-content +} + +.cursor-pointer.svelte-1x5ct6j { + cursor: pointer +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-row-reverse.svelte-1x5ct6j { + flex-direction: row-reverse +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.items-stretch.svelte-1x5ct6j { + align-items: stretch +} + +.justify-center.svelte-1x5ct6j { + justify-content: center +} + +.justify-between.svelte-1x5ct6j { + justify-content: space-between +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.gap-2.svelte-1x5ct6j { + gap: 0.5rem +} + +.gap-3.svelte-1x5ct6j { + gap: 0.75rem +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.overflow-hidden.svelte-1x5ct6j { + overflow: hidden +} + +.overflow-clip.svelte-1x5ct6j { + overflow: clip +} + +.text-ellipsis.svelte-1x5ct6j { + text-overflow: ellipsis +} + +.text-clip.svelte-1x5ct6j { + text-overflow: clip +} + +.whitespace-nowrap.svelte-1x5ct6j { + white-space: nowrap +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-2xl.svelte-1x5ct6j { + border-radius: 1rem +} + +.rounded-t-xl.svelte-1x5ct6j { + border-top-left-radius: 0.75rem; + border-top-right-radius: 0.75rem +} + +.border.svelte-1x5ct6j { + border-width: 1px +} + +.border-2.svelte-1x5ct6j { + border-width: 2px +} + +.border-l.svelte-1x5ct6j { + border-left-width: 1px +} + +.border-gray-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)) +} + +.border-slate-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-color: rgb(226 232 240 / var(--tw-border-opacity)) +} + +.border-l-gray-400.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-left-color: rgb(156 163 175 / var(--tw-border-opacity)) +} + +.bg-purple-700.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +.bg-white.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) +} + +.bg-orange-500.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(249 115 22 / var(--tw-bg-opacity)) +} + +.bg-black.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)) +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.p-4.svelte-1x5ct6j { + padding: 1rem +} + +.py-2.svelte-1x5ct6j { + padding-top: 0.5rem; + padding-bottom: 0.5rem +} + +.pl-5.svelte-1x5ct6j { + padding-left: 1.25rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.text-base.svelte-1x5ct6j { + font-size: 1rem; + line-height: 1.5rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-400.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)) +} + +.text-orange-500.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(249 115 22 / var(--tw-text-opacity)) +} + +.text-gray-900.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)) +} + +.text-purple-500.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(168 85 247 / var(--tw-text-opacity)) +} + +.opacity-100.svelte-1x5ct6j { + opacity: 1 +} + +.opacity-10.svelte-1x5ct6j { + opacity: 0.1 +} + +.shadow-sm.svelte-1x5ct6j { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.ring-4.svelte-1x5ct6j { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.ring-purple-700.svelte-1x5ct6j { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(126 34 206 / var(--tw-ring-opacity)) +} + +.drop-shadow-xl.svelte-1x5ct6j { + --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08)); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) +} + +.hover\:bg-orange-500.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(249 115 22 / var(--tw-bg-opacity)) +} + +.hover\:bg-slate-100.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)) +} + +.hover\:opacity-100.svelte-1x5ct6j:hover { + opacity: 1 +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +b.svelte-1x5ct6j { + font-weight: bolder +} + +button.svelte-1x5ct6j, +textarea.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j, +[type='button'].svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j { + margin: 0 +} + +textarea.svelte-1x5ct6j { + resize: vertical +} + +textarea.svelte-1x5ct6j::-moz-placeholder { + opacity: 1; + color: #9ca3af +} + +textarea.svelte-1x5ct6j::placeholder { + opacity: 1; + color: #9ca3af +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +svg.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.-mx-4.svelte-1x5ct6j { + margin-left: -1rem; + margin-right: -1rem +} + +.my-2.svelte-1x5ct6j { + margin-top: 0.5rem; + margin-bottom: 0.5rem +} + +.-mx-1.svelte-1x5ct6j { + margin-left: -0.25rem; + margin-right: -0.25rem +} + +.-mt-5.svelte-1x5ct6j { + margin-top: -1.25rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.mt-2.svelte-1x5ct6j { + margin-top: 0.5rem +} + +.ml-2.svelte-1x5ct6j { + margin-left: 0.5rem +} + +.-mb-2.svelte-1x5ct6j { + margin-bottom: -0.5rem +} + +.inline-block.svelte-1x5ct6j { + display: inline-block +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.inline-flex.svelte-1x5ct6j { + display: inline-flex +} + +.h-2.svelte-1x5ct6j { + height: 0.5rem +} + +.h-6.svelte-1x5ct6j { + height: 1.5rem +} + +.w-2.svelte-1x5ct6j { + width: 0.5rem +} + +.w-6.svelte-1x5ct6j { + width: 1.5rem +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.rotate-90.svelte-1x5ct6j { + --tw-rotate: 90deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.resize-none.svelte-1x5ct6j { + resize: none +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-end.svelte-1x5ct6j { + align-items: flex-end +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.justify-between.svelte-1x5ct6j { + justify-content: space-between +} + +.gap-1.svelte-1x5ct6j { + gap: 0.25rem +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.gap-2.svelte-1x5ct6j { + gap: 0.5rem +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.overflow-hidden.svelte-1x5ct6j { + overflow: hidden +} + +.overflow-clip.svelte-1x5ct6j { + overflow: clip +} + +.text-ellipsis.svelte-1x5ct6j { + text-overflow: ellipsis +} + +.whitespace-nowrap.svelte-1x5ct6j { + white-space: nowrap +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.border.svelte-1x5ct6j { + border-width: 1px +} + +.border-y.svelte-1x5ct6j { + border-top-width: 1px; + border-bottom-width: 1px +} + +.border-transparent.svelte-1x5ct6j { + border-color: transparent +} + +.border-y-slate-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-top-color: rgb(226 232 240 / var(--tw-border-opacity)); + border-bottom-color: rgb(226 232 240 / var(--tw-border-opacity)) +} + +.bg-purple-700.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +.bg-green-500.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)) +} + +.bg-gray-300.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(209 213 219 / var(--tw-bg-opacity)) +} + +.bg-slate-100.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.px-4.svelte-1x5ct6j { + padding-left: 1rem; + padding-right: 1rem +} + +.py-3.svelte-1x5ct6j { + padding-top: 0.75rem; + padding-bottom: 0.75rem +} + +.py-2.svelte-1x5ct6j { + padding-top: 0.5rem; + padding-bottom: 0.5rem +} + +.text-lg.svelte-1x5ct6j { + font-size: 1.125rem; + line-height: 1.75rem +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-sm.svelte-1x5ct6j { + font-size: 0.875rem; + line-height: 1.25rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-200.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)) +} + +.text-black.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)) +} + +.text-gray-600.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)) +} + +.shadow-sm.svelte-1x5ct6j { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.hover\:bg-purple-600.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(147 51 234 / var(--tw-bg-opacity)) +} + +.focus\:outline-none.svelte-1x5ct6j:focus { + outline: 2px solid transparent; + outline-offset: 2px +} + +.focus\:ring-2.svelte-1x5ct6j:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.focus\:ring-purple-500.svelte-1x5ct6j:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity)) +} + +.focus\:ring-offset-2.svelte-1x5ct6j:focus { + --tw-ring-offset-width: 2px +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j, +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +svg.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.fixed.svelte-1x5ct6j { + position: fixed +} + +.bottom-5.svelte-1x5ct6j { + bottom: 1.25rem +} + +.right-5.svelte-1x5ct6j { + right: 1.25rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.mb-5.svelte-1x5ct6j { + margin-bottom: 1.25rem +} + +.mt-3.svelte-1x5ct6j { + margin-top: 0.75rem +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.hidden.svelte-1x5ct6j { + display: none +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.w-96.svelte-1x5ct6j { + width: 24rem +} + +.max-w-screen-sm.svelte-1x5ct6j { + max-width: 640px +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.justify-end.svelte-1x5ct6j { + justify-content: flex-end +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.self-end.svelte-1x5ct6j { + align-self: flex-end +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.rounded-3xl.svelte-1x5ct6j { + border-radius: 1.5rem +} + +.bg-purple-900.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(88 28 135 / var(--tw-bg-opacity)) +} + +.bg-white\/90.svelte-1x5ct6j { + background-color: rgb(255 255 255 / 0.9) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-5.svelte-1x5ct6j { + padding: 1.25rem +} + +.py-4.svelte-1x5ct6j { + padding-top: 1rem; + padding-bottom: 1rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.font-sans.svelte-1x5ct6j { + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.text-2xl.svelte-1x5ct6j { + font-size: 1.5rem; + line-height: 2rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.font-bold.svelte-1x5ct6j { + font-weight: 700 +} + +.uppercase.svelte-1x5ct6j { + text-transform: uppercase +} + +.tracking-wide.svelte-1x5ct6j { + letter-spacing: 0.025em +} + +.tracking-wider.svelte-1x5ct6j { + letter-spacing: 0.05em +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-black.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)) +} + +.text-purple-700.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(126 34 206 / var(--tw-text-opacity)) +} + +.text-gray-700.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)) +} + +.text-purple-300.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(216 180 254 / var(--tw-text-opacity)) +} + +.shadow-2xl.svelte-1x5ct6j { + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.backdrop-blur-md.svelte-1x5ct6j { + --tw-backdrop-blur: blur(12px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-brightness-150.svelte-1x5ct6j { + --tw-backdrop-brightness: brightness(1.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.hover\:bg-purple-700.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..825b9e6 Binary files /dev/null and b/favicon.png differ diff --git a/index.html b/index.html index 3a23464..5c955aa 100644 --- a/index.html +++ b/index.html @@ -1,363 +1,814 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - Flash | Global Cash - - -
-
- - - - -
-
- -
- -
- - -
- -
- + - -
-
+
+ +
+ +
-
-

Be Your Own Bank

-

Made with convenience and ease of use in mind, Flash gives you the power of a bank account in the palm of your hand

-

Pay Less To Move Cash

-

Flash removes the middlemen when moving cash, lowering cost and increasing the speed of transactions

- -

No Signup Needed

-

No ID, no Mobile Number, no Email. Just download Flash and you are ready to receive cash!

-
-
-
- - - - + +
-
-
-

Flash is for Everyone

-
-

Buying, Selling, Building, Creating or Connecting - Flash can electrify whatever it is that you do in life. Earning, saving and spending, made easy

- -
-
- -
-
- -
-
- +
+ + + +
+
+
+
+

Be Your Own Bank

+

+ Made with convenience and ease of use in mind, Flash gives you + the power of a bank account in the palm of your hand +

+

Pay Less To Move Cash

+

+ Flash removes the middlemen when moving cash, lowering cost and + increasing the speed of transactions +

+ +

No Signup Needed

+

+ No ID, no Mobile Number, no Email. Just + download Flash and you are ready to + receive cash! +

-
- +
+
+ + + + +
- - -
-
-

Flash Cash

-

Send and receive cash instantly for free

- bitcoin in a popcorn bag +
+
+

Flash is for Everyone

+
+

+ Buying, Selling, Building, Creating or Connecting - Flash can + electrify whatever it is that you do in life. Earning, saving and + spending, made easy +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
-
-

Flash Pay

-

Start accepting payment in seconds on any device

- bitcoin in a bucket + + +
+
+

Flash Cash

+

Send and receive cash instantly for free

+ bitcoin in a popcorn bag +
+
+

Flash Pay

+

Start accepting payment in seconds on any device

+ bitcoin in a bucket +
+
+

Flash Business

+

Add a cash-in and cash-out point to your business

+ bitcoin in a safe +
-
-

Flash Business

-

Add a cash-in and cash-out point to your business

- bitcoin in a safe + +
+
+

+ Select one of the boxes to learn more about the many features + of Flash +

+
- -
-
-

Select one of the boxes to learn more about the many features of Flash

+
+
+ + + +
+
+
+

Frequently Asked Questions

+
+
-
-
- + + - -
-
-
- + +
+
+
+
+ + +
- -
-
-
-
- - -
- - -

Contact Us

-
- -
-
- - - - - - - - -
- + +

Contact Us

+
+ + +
+ + + + + + + + +
+ +
-
-
-

Message Sent!

- - - - - - - - - -

Thanks for reaching out to us!

-
- - -
- +
+ - -
- - -
-
- - - -
-
- + +
+ + +
-
-
- -
+ - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - \ No newline at end of file + + + + diff --git a/js/chat.js b/js/chat.js new file mode 100644 index 0000000..610c5b6 --- /dev/null +++ b/js/chat.js @@ -0,0 +1,2135 @@ +(function(){"use strict";function noop(){}function assign(tar,src){for(const k in src)tar[k]=src[k];return tar}function run(fn){return fn()}function blank_object(){return Object.create(null)}function run_all(fns){fns.forEach(run)}function is_function(thing){return typeof thing==="function"}function safe_not_equal(a,b){return a!=a?b==b:a!==b||a&&typeof a==="object"||typeof a==="function"}let src_url_equal_anchor;function src_url_equal(element_src,url){if(!src_url_equal_anchor){src_url_equal_anchor=document.createElement("a")}src_url_equal_anchor.href=url;return element_src===src_url_equal_anchor.href}function is_empty(obj){return Object.keys(obj).length===0}function subscribe(store,...callbacks){if(store==null){return noop}const unsub=store.subscribe(...callbacks);return unsub.unsubscribe?()=>unsub.unsubscribe():unsub}function component_subscribe(component,store,callback){component.$$.on_destroy.push(subscribe(store,callback))}function set_store_value(store,ret,value){store.set(value);return ret}const is_client=typeof window!=="undefined";let now$1=is_client?()=>window.performance.now():()=>Date.now();let raf=is_client?cb=>requestAnimationFrame(cb):noop;const tasks=new Set;function run_tasks(now){tasks.forEach(task=>{if(!task.c(now)){tasks.delete(task);task.f()}});if(tasks.size!==0)raf(run_tasks)}function loop(callback){let task;if(tasks.size===0)raf(run_tasks);return{promise:new Promise(fulfill=>{tasks.add(task={c:callback,f:fulfill})}),abort(){tasks.delete(task)}}}function append(target,node){target.appendChild(node)}function insert(target,node,anchor){target.insertBefore(node,anchor||null)}function detach(node){if(node.parentNode){node.parentNode.removeChild(node)}}function destroy_each(iterations,detaching){for(let i=0;inode.removeEventListener(event,handler,options)}function prevent_default(fn){return function(event){event.preventDefault();return fn.call(this,event)}}function attr(node,attribute,value){if(value==null)node.removeAttribute(attribute);else if(node.getAttribute(attribute)!==value)node.setAttribute(attribute,value)}function set_svg_attributes(node,attributes){for(const key in attributes){attr(node,key,attributes[key])}}function children(element){return Array.from(element.childNodes)}function set_data(text,data){data=""+data;if(text.wholeText!==data)text.data=data}function set_style(node,key,value,important){if(value===null){node.style.removeProperty(key)}else{node.style.setProperty(key,value,important?"important":"")}}function toggle_class(element,name,toggle){element.classList[toggle?"add":"remove"](name)}let current_component;function set_current_component(component){current_component=component}function get_current_component(){if(!current_component)throw new Error("Function called outside component initialization");return current_component}function onMount(fn){get_current_component().$$.on_mount.push(fn)}function afterUpdate(fn){get_current_component().$$.after_update.push(fn)}const dirty_components=[];const binding_callbacks=[];const render_callbacks=[];const flush_callbacks=[];const resolved_promise=Promise.resolve();let update_scheduled=false;function schedule_update(){if(!update_scheduled){update_scheduled=true;resolved_promise.then(flush)}}function add_render_callback(fn){render_callbacks.push(fn)}function add_flush_callback(fn){flush_callbacks.push(fn)}const seen_callbacks=new Set;let flushidx=0;function flush(){if(flushidx!==0){return}const saved_component=current_component;do{try{while(flushidx{outroing.delete(block);if(callback){if(detach)block.d(1);callback()}});block.o(local)}else if(callback){callback()}}function get_spread_update(levels,updates){const update={};const to_null_out={};const accounted_for={$$scope:1};let i=levels.length;while(i--){const o=levels[i];const n=updates[i];if(n){for(const key in o){if(!(key in n))to_null_out[key]=1}for(const key in n){if(!accounted_for[key]){update[key]=n[key];accounted_for[key]=1}}levels[i]=n}else{for(const key in o){accounted_for[key]=1}}}for(const key in to_null_out){if(!(key in update))update[key]=undefined}return update}function bind(component,name,callback){const index=component.$$.props[name];if(index!==undefined){component.$$.bound[index]=callback;callback(component.$$.ctx[index])}}function create_component(block){block&&block.c()}function mount_component(component,target,anchor,customElement){const{fragment,after_update}=component.$$;fragment&&fragment.m(target,anchor);if(!customElement){add_render_callback(()=>{const new_on_destroy=component.$$.on_mount.map(run).filter(is_function);if(component.$$.on_destroy){component.$$.on_destroy.push(...new_on_destroy)}else{run_all(new_on_destroy)}component.$$.on_mount=[]})}after_update.forEach(add_render_callback)}function destroy_component(component,detaching){const $$=component.$$;if($$.fragment!==null){run_all($$.on_destroy);$$.fragment&&$$.fragment.d(detaching);$$.on_destroy=$$.fragment=null;$$.ctx=[]}}function make_dirty(component,i){if(component.$$.dirty[0]===-1){dirty_components.push(component);schedule_update();component.$$.dirty.fill(0)}component.$$.dirty[i/31|0]|=1<{const value=rest.length?rest[0]:ret;if($$.ctx&¬_equal($$.ctx[i],$$.ctx[i]=value)){if(!$$.skip_bound&&$$.bound[i])$$.bound[i](value);if(ready)make_dirty(component,i)}return ret}):[];$$.update();ready=true;run_all($$.before_update);$$.fragment=create_fragment?create_fragment($$.ctx):false;if(options.target){if(options.hydrate){const nodes=children(options.target);$$.fragment&&$$.fragment.l(nodes);nodes.forEach(detach)}else{$$.fragment&&$$.fragment.c()}if(options.intro)transition_in(component.$$.fragment);mount_component(component,options.target,options.anchor,options.customElement);flush()}set_current_component(parent_component)}class SvelteComponent{$destroy(){destroy_component(this,1);this.$destroy=noop}$on(type,callback){if(!is_function(callback)){return noop}const callbacks=this.$$.callbacks[type]||(this.$$.callbacks[type]=[]);callbacks.push(callback);return()=>{const index=callbacks.indexOf(callback);if(index!==-1)callbacks.splice(index,1)}}$set($$props){if(this.$$set&&!is_empty($$props)){this.$$.skip_bound=true;this.$$set($$props);this.$$.skip_bound=false}}}const subscriber_queue=[];function writable(value,start=noop){let stop;const subscribers=new Set;function set(new_value){if(safe_not_equal(value,new_value)){value=new_value;if(stop){const run_queue=!subscriber_queue.length;for(const subscriber of subscribers){subscriber[1]();subscriber_queue.push(subscriber,value)}if(run_queue){for(let i=0;i{subscribers.delete(subscriber);if(subscribers.size===0){stop();stop=null}}}return{set:set,update:update,subscribe:subscribe}}const chatAdapter=writable(null);const chatData=writable({events:[],profiles:{}});const selectedMessage=writable(null);const zappingMessage=writable(null);const zapsPerMessage=writable({});var Mode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};function QR8bitByte(data){this.mode=Mode.MODE_8BIT_BYTE;this.data=data}QR8bitByte.prototype={getLength:function(){return this.data.length},write:function(buffer){for(var i=0;i>>7-index%8&1)==1},put:function(num,length){for(var i=0;i>>length-i-1&1)==1)}},getLengthInBits:function(){return this.length},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0)}if(bit){this.buffer[bufIndex]|=128>>>this.length%8}this.length++}};const QRMath={glog:function(n){if(n<1){throw new Error("glog("+n+")")}return QRMath.LOG_TABLE[n]},gexp:function(n){while(n<0){n+=255}while(n>=256){n-=255}return QRMath.EXP_TABLE[n]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<=0){d^=QRUtil.G15<=0){d^=QRUtil.G18<>>=1}return digit},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1]},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return i*j%2+i*j%3==0;case QRMaskPattern.PATTERN110:return(i*j%2+i*j%3)%2==0;case QRMaskPattern.PATTERN111:return(i*j%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern)}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=3+sameCount-5}}}for(var row=0;row=7){this.setupTypeNumber(test)}if(this.dataCache==null){this.dataCache=QRCode.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)}this.mapData(this.dataCache,maskPattern)};proto.setupPositionProbePattern=function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if(0<=r&&r<=6&&(c==0||c==6)||0<=c&&c<=6&&(r==0||r==6)||2<=r&&r<=4&&2<=c&&c<=4){this.modules[row+r][col+c]=true}else{this.modules[row+r][col+c]=false}}}};proto.getBestMaskPattern=function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i}}return pattern};proto.setupTimingPattern=function(){for(var r=8;r>i&1)==1;this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod}for(var i=0;i<18;i++){var mod=!test&&(bits>>i&1)==1;this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod}};proto.setupTypeInfo=function(test,maskPattern){var data=this.errorCorrectLevel<<3|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<6){this.modules[i][8]=mod}else if(i<8){this.modules[i+1][8]=mod}else{this.modules[this.moduleCount-15+i][8]=mod}}for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<8){this.modules[8][this.moduleCount-i-1]=mod}else if(i<9){this.modules[8][15-i-1+1]=mod}else{this.modules[8][15-i-1]=mod}}this.modules[this.moduleCount-8][8]=!test};proto.mapData=function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex&1)==1}var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark}this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7}}}row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break}}}};QRCode.PAD0=236;QRCode.PAD1=17;QRCode.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer;for(var i=0;itotalDataCount*8){throw new Error("code length overflow. ("+buffer.getLengthInBits()+">"+totalDataCount*8+")")}if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4)}while(buffer.getLengthInBits()%8!=0){buffer.putBit(false)}while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break}buffer.put(QRCode.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break}buffer.put(QRCode.PAD1,8)}return QRCode.createBytes(buffer,rsBlocks)};QRCode.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0?modPoly.get(modIndex):0}}var totalCodeCount=0;for(var i=0;i{if("text"in $$props)$$invalidate(2,text=$$props.text);if("level"in $$props)$$invalidate(3,level=$$props.level);if("version"in $$props)$$invalidate(4,version=$$props.version)};$$self.$$.update=()=>{if($$self.$$.dirty&28){{let qr=new QRCode(version,ErrorCorrectLevel[level]);qr.addData(text);qr.make();const rows=qr.modules;$$invalidate(0,size=rows.length);for(const[y,row]of rows.entries()){let rect;for(const[x,on]of row.entries()){if(on){if(!rect)rect={x:x,y:y,width:0,height:1};rect.width++}else{if(rect&&rect.width>0){rects.push(rect)}rect=void 0}}if(rect&&rect.width>0){rects.push(rect)}}}}};return[size,rects,text,level,version]}class QR extends SvelteComponent{constructor(options){super();init(this,options,instance$6,create_fragment$6,safe_not_equal,{text:2,level:3,version:4})}}var _nodeResolve_empty={};var nodeCrypto=Object.freeze({__proto__:null,default:_nodeResolve_empty});const _0n=BigInt(0);const _1n=BigInt(1);const _2n=BigInt(2);const _3n=BigInt(3);const _8n=BigInt(8);const CURVE=Object.freeze({a:_0n,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:_1n,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});function weistrass(x){const{a,b}=CURVE;const x2=mod(x*x);const x3=mod(x2*x);return mod(x3+a*x+b)}const USE_ENDOMORPHISM=CURVE.a===_0n;class ShaError extends Error{constructor(message){super(message)}}class JacobianPoint{constructor(x,y,z){this.x=x;this.y=y;this.z=z}static fromAffine(p){if(!(p instanceof Point)){throw new TypeError("JacobianPoint#fromAffine: expected Point")}return new JacobianPoint(p.x,p.y,_1n)}static toAffineBatch(points){const toInv=invertBatch(points.map(p=>p.z));return points.map((p,i)=>p.toAffine(toInv[i]))}static normalizeZ(points){return JacobianPoint.toAffineBatch(points).map(JacobianPoint.fromAffine)}equals(other){if(!(other instanceof JacobianPoint))throw new TypeError("JacobianPoint expected");const{x:X1,y:Y1,z:Z1}=this;const{x:X2,y:Y2,z:Z2}=other;const Z1Z1=mod(Z1*Z1);const Z2Z2=mod(Z2*Z2);const U1=mod(X1*Z2Z2);const U2=mod(X2*Z1Z1);const S1=mod(mod(Y1*Z2)*Z2Z2);const S2=mod(mod(Y2*Z1)*Z1Z1);return U1===U2&&S1===S2}negate(){return new JacobianPoint(this.x,mod(-this.y),this.z)}double(){const{x:X1,y:Y1,z:Z1}=this;const A=mod(X1*X1);const B=mod(Y1*Y1);const C=mod(B*B);const x1b=X1+B;const D=mod(_2n*(mod(x1b*x1b)-A-C));const E=mod(_3n*A);const F=mod(E*E);const X3=mod(F-_2n*D);const Y3=mod(E*(D-X3)-_8n*C);const Z3=mod(_2n*Y1*Z1);return new JacobianPoint(X3,Y3,Z3)}add(other){if(!(other instanceof JacobianPoint))throw new TypeError("JacobianPoint expected");const{x:X1,y:Y1,z:Z1}=this;const{x:X2,y:Y2,z:Z2}=other;if(X2===_0n||Y2===_0n)return this;if(X1===_0n||Y1===_0n)return other;const Z1Z1=mod(Z1*Z1);const Z2Z2=mod(Z2*Z2);const U1=mod(X1*Z2Z2);const U2=mod(X2*Z1Z1);const S1=mod(mod(Y1*Z2)*Z2Z2);const S2=mod(mod(Y2*Z1)*Z1Z1);const H=mod(U2-U1);const r=mod(S2-S1);if(H===_0n){if(r===_0n){return this.double()}else{return JacobianPoint.ZERO}}const HH=mod(H*H);const HHH=mod(H*HH);const V=mod(U1*HH);const X3=mod(r*r-HHH-_2n*V);const Y3=mod(r*(V-X3)-S1*HHH);const Z3=mod(Z1*Z2*H);return new JacobianPoint(X3,Y3,Z3)}subtract(other){return this.add(other.negate())}multiplyUnsafe(scalar){const P0=JacobianPoint.ZERO;if(typeof scalar==="bigint"&&scalar===_0n)return P0;let n=normalizeScalar(scalar);if(n===_1n)return this;if(!USE_ENDOMORPHISM){let p=P0;let d=this;while(n>_0n){if(n&_1n)p=p.add(d);d=d.double();n>>=_1n}return p}let{k1neg,k1,k2neg,k2}=splitScalarEndo(n);let k1p=P0;let k2p=P0;let d=this;while(k1>_0n||k2>_0n){if(k1&_1n)k1p=k1p.add(d);if(k2&_1n)k2p=k2p.add(d);d=d.double();k1>>=_1n;k2>>=_1n}if(k1neg)k1p=k1p.negate();if(k2neg)k2p=k2p.negate();k2p=new JacobianPoint(mod(k2p.x*CURVE.beta),k2p.y,k2p.z);return k1p.add(k2p)}precomputeWindow(W){const windows=USE_ENDOMORPHISM?128/W+1:256/W+1;const points=[];let p=this;let base=p;for(let window=0;window>=shiftBy;if(wbits>windowSize){wbits-=maxNumber;n+=_1n}if(wbits===0){let pr=precomputes[offset];if(window%2)pr=pr.negate();f=f.add(pr)}else{let cached=precomputes[offset+Math.abs(wbits)-1];if(wbits<0)cached=cached.negate();p=p.add(cached)}}return{p:p,f:f}}multiply(scalar,affinePoint){let n=normalizeScalar(scalar);let point;let fake;if(USE_ENDOMORPHISM){const{k1neg,k1,k2neg,k2}=splitScalarEndo(n);let{p:k1p,f:f1p}=this.wNAF(k1,affinePoint);let{p:k2p,f:f2p}=this.wNAF(k2,affinePoint);if(k1neg)k1p=k1p.negate();if(k2neg)k2p=k2p.negate();k2p=new JacobianPoint(mod(k2p.x*CURVE.beta),k2p.y,k2p.z);point=k1p.add(k2p);fake=f1p.add(f2p)}else{const{p,f}=this.wNAF(n,affinePoint);point=p;fake=f}return JacobianPoint.normalizeZ([point,fake])[0]}toAffine(invZ=invert(this.z)){const{x,y,z}=this;const iz1=invZ;const iz2=mod(iz1*iz1);const iz3=mod(iz2*iz1);const ax=mod(x*iz2);const ay=mod(y*iz3);const zz=mod(z*iz1);if(zz!==_1n)throw new Error("invZ was invalid");return new Point(ax,ay)}}JacobianPoint.BASE=new JacobianPoint(CURVE.Gx,CURVE.Gy,_1n);JacobianPoint.ZERO=new JacobianPoint(_0n,_1n,_0n);const pointPrecomputes=new WeakMap;class Point{constructor(x,y){this.x=x;this.y=y}_setWindowSize(windowSize){this._WINDOW_SIZE=windowSize;pointPrecomputes.delete(this)}hasEvenY(){return this.y%_2n===_0n}static fromCompressedHex(bytes){const isShort=bytes.length===32;const x=bytesToNumber$1(isShort?bytes:bytes.subarray(1));if(!isValidFieldElement(x))throw new Error("Point is not on curve");const y2=weistrass(x);let y=sqrtMod(y2);const isYOdd=(y&_1n)===_1n;if(isShort){if(isYOdd)y=mod(-y)}else{const isFirstByteOdd=(bytes[0]&1)===1;if(isFirstByteOdd!==isYOdd)y=mod(-y)}const point=new Point(x,y);point.assertValidity();return point}static fromUncompressedHex(bytes){const x=bytesToNumber$1(bytes.subarray(1,33));const y=bytesToNumber$1(bytes.subarray(33,65));const point=new Point(x,y);point.assertValidity();return point}static fromHex(hex){const bytes=ensureBytes(hex);const len=bytes.length;const header=bytes[0];if(len===32||len===33&&(header===2||header===3)){return this.fromCompressedHex(bytes)}if(len===65&&header===4)return this.fromUncompressedHex(bytes);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${len}`)}static fromPrivateKey(privateKey){return Point.BASE.multiply(normalizePrivateKey(privateKey))}static fromSignature(msgHash,signature,recovery){msgHash=ensureBytes(msgHash);const h=truncateHash(msgHash);const{r,s}=normalizeSignature(signature);if(recovery!==0&&recovery!==1){throw new Error("Cannot recover signature: invalid recovery bit")}const prefix=recovery&1?"03":"02";const R=Point.fromHex(prefix+numTo32bStr(r));const{n}=CURVE;const rinv=invert(r,n);const u1=mod(-h*rinv,n);const u2=mod(s*rinv,n);const Q=Point.BASE.multiplyAndAddUnsafe(R,u1,u2);if(!Q)throw new Error("Cannot recover signature: point at infinify");Q.assertValidity();return Q}toRawBytes(isCompressed=false){return hexToBytes$1(this.toHex(isCompressed))}toHex(isCompressed=false){const x=numTo32bStr(this.x);if(isCompressed){const prefix=this.hasEvenY()?"02":"03";return`${prefix}${x}`}else{return`04${x}${numTo32bStr(this.y)}`}}toHexX(){return this.toHex(true).slice(2)}toRawX(){return this.toRawBytes(true).slice(1)}assertValidity(){const msg="Point is not on elliptic curve";const{x,y}=this;if(!isValidFieldElement(x)||!isValidFieldElement(y))throw new Error(msg);const left=mod(y*y);const right=weistrass(x);if(mod(left-right)!==_0n)throw new Error(msg)}equals(other){return this.x===other.x&&this.y===other.y}negate(){return new Point(this.x,mod(-this.y))}double(){return JacobianPoint.fromAffine(this).double().toAffine()}add(other){return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(other)).toAffine()}subtract(other){return this.add(other.negate())}multiply(scalar){return JacobianPoint.fromAffine(this).multiply(scalar,this).toAffine()}multiplyAndAddUnsafe(Q,a,b){const P=JacobianPoint.fromAffine(this);const aP=a===_0n||a===_1n||this!==Point.BASE?P.multiplyUnsafe(a):P.multiply(a);const bQ=JacobianPoint.fromAffine(Q).multiplyUnsafe(b);const sum=aP.add(bQ);return sum.equals(JacobianPoint.ZERO)?undefined:sum.toAffine()}}Point.BASE=new Point(CURVE.Gx,CURVE.Gy);Point.ZERO=new Point(_0n,_0n);function sliceDER(s){return Number.parseInt(s[0],16)>=8?"00"+s:s}function parseDERInt(data){if(data.length<2||data[0]!==2){throw new Error(`Invalid signature integer tag: ${bytesToHex$1(data)}`)}const len=data[1];const res=data.subarray(2,len+2);if(!len||res.length!==len){throw new Error(`Invalid signature integer: wrong length`)}if(res[0]===0&&res[1]<=127){throw new Error("Invalid signature integer: trailing length")}return{data:bytesToNumber$1(res),left:data.subarray(len+2)}}function parseDERSignature(data){if(data.length<2||data[0]!=48){throw new Error(`Invalid signature tag: ${bytesToHex$1(data)}`)}if(data[1]!==data.length-2){throw new Error("Invalid signature: incorrect length")}const{data:r,left:sBytes}=parseDERInt(data.subarray(2));const{data:s,left:rBytesLeft}=parseDERInt(sBytes);if(rBytesLeft.length){throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex$1(rBytesLeft)}`)}return{r:r,s:s}}class Signature{constructor(r,s){this.r=r;this.s=s;this.assertValidity()}static fromCompact(hex){const arr=hex instanceof Uint8Array;const name="Signature.fromCompact";if(typeof hex!=="string"&&!arr)throw new TypeError(`${name}: Expected string or Uint8Array`);const str=arr?bytesToHex$1(hex):hex;if(str.length!==128)throw new Error(`${name}: Expected 64-byte hex`);return new Signature(hexToNumber(str.slice(0,64)),hexToNumber(str.slice(64,128)))}static fromDER(hex){const arr=hex instanceof Uint8Array;if(typeof hex!=="string"&&!arr)throw new TypeError(`Signature.fromDER: Expected string or Uint8Array`);const{r,s}=parseDERSignature(arr?hex:hexToBytes$1(hex));return new Signature(r,s)}static fromHex(hex){return this.fromDER(hex)}assertValidity(){const{r,s}=this;if(!isWithinCurveOrder(r))throw new Error("Invalid Signature: r must be 0 < r < n");if(!isWithinCurveOrder(s))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const HALF=CURVE.n>>_1n;return this.s>HALF}normalizeS(){return this.hasHighS()?new Signature(this.r,CURVE.n-this.s):this}toDERRawBytes(isCompressed=false){return hexToBytes$1(this.toDERHex(isCompressed))}toDERHex(isCompressed=false){const sHex=sliceDER(numberToHexUnpadded(this.s));if(isCompressed)return sHex;const rHex=sliceDER(numberToHexUnpadded(this.r));const rLen=numberToHexUnpadded(rHex.length/2);const sLen=numberToHexUnpadded(sHex.length/2);const length=numberToHexUnpadded(rHex.length/2+sHex.length/2+4);return`30${length}02${rLen}${rHex}02${sLen}${sHex}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return hexToBytes$1(this.toCompactHex())}toCompactHex(){return numTo32bStr(this.r)+numTo32bStr(this.s)}}function concatBytes$1(...arrays){if(!arrays.every(b=>b instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;ii.toString(16).padStart(2,"0"));function bytesToHex$1(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Expected Uint8Array");let hex="";for(let i=0;i0)return BigInt(num);if(typeof num==="bigint"&&isWithinCurveOrder(num))return num;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function mod(a,b=CURVE.P){const result=a%b;return result>=_0n?result:b+result}function pow2(x,power){const{P}=CURVE;let res=x;while(power-- >_0n){res*=res;res%=P}return res}function sqrtMod(x){const{P}=CURVE;const _6n=BigInt(6);const _11n=BigInt(11);const _22n=BigInt(22);const _23n=BigInt(23);const _44n=BigInt(44);const _88n=BigInt(88);const b2=x*x*x%P;const b3=b2*b2*x%P;const b6=pow2(b3,_3n)*b3%P;const b9=pow2(b6,_3n)*b3%P;const b11=pow2(b9,_2n)*b2%P;const b22=pow2(b11,_11n)*b11%P;const b44=pow2(b22,_22n)*b22%P;const b88=pow2(b44,_44n)*b44%P;const b176=pow2(b88,_88n)*b88%P;const b220=pow2(b176,_44n)*b44%P;const b223=pow2(b220,_3n)*b3%P;const t1=pow2(b223,_23n)*b22%P;const t2=pow2(t1,_6n)*b2%P;return pow2(t2,_2n)}function invert(number,modulo=CURVE.P){if(number===_0n||modulo<=_0n){throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`)}let a=mod(number,modulo);let b=modulo;let x=_0n,u=_1n;while(a!==_0n){const q=b/a;const r=b%a;const m=x-u*q;b=a,a=r,x=u,u=m}const gcd=b;if(gcd!==_1n)throw new Error("invert: does not exist");return mod(x,modulo)}function invertBatch(nums,p=CURVE.P){const scratch=new Array(nums.length);const lastMultiplied=nums.reduce((acc,num,i)=>{if(num===_0n)return acc;scratch[i]=acc;return mod(acc*num,p)},_1n);const inverted=invert(lastMultiplied,p);nums.reduceRight((acc,num,i)=>{if(num===_0n)return acc;scratch[i]=mod(acc*scratch[i],p);return mod(acc*num,p)},inverted);return scratch}const divNearest=(a,b)=>(a+b/_2n)/b;const ENDO={a1:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),b1:-_1n*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a2:BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),b2:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),POW_2_128:BigInt("0x100000000000000000000000000000000")};function splitScalarEndo(k){const{n}=CURVE;const{a1,b1,a2,b2,POW_2_128}=ENDO;const c1=divNearest(b2*k,n);const c2=divNearest(-b1*k,n);let k1=mod(k-c1*a1-c2*a2,n);let k2=mod(-c1*b1-c2*b2,n);const k1neg=k1>POW_2_128;const k2neg=k2>POW_2_128;if(k1neg)k1=n-k1;if(k2neg)k2=n-k2;if(k1>POW_2_128||k2>POW_2_128){throw new Error("splitScalarEndo: Endomorphism failed, k="+k)}return{k1neg:k1neg,k1:k1,k2neg:k2neg,k2:k2}}function truncateHash(hash){const{n}=CURVE;const byteLength=hash.length;const delta=byteLength*8-256;let h=bytesToNumber$1(hash);if(delta>0)h=h>>BigInt(delta);if(h>=n)h-=n;return h}let _sha256Sync;let _hmacSha256Sync;class HmacDrbg{constructor(){this.v=new Uint8Array(32).fill(1);this.k=new Uint8Array(32).fill(0);this.counter=0}hmac(...values){return utils$1.hmacSha256(this.k,...values)}hmacSync(...values){return _hmacSha256Sync(this.k,...values)}checkSync(){if(typeof _hmacSha256Sync!=="function")throw new ShaError("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(seed=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),seed);this.v=await this.hmac(this.v);if(seed.length===0)return;this.k=await this.hmac(this.v,Uint8Array.from([1]),seed);this.v=await this.hmac(this.v)}reseedSync(seed=new Uint8Array){this.checkSync();this.k=this.hmacSync(this.v,Uint8Array.from([0]),seed);this.v=this.hmacSync(this.v);if(seed.length===0)return;this.k=this.hmacSync(this.v,Uint8Array.from([1]),seed);this.v=this.hmacSync(this.v)}async generate(){this.incr();this.v=await this.hmac(this.v);return this.v}generateSync(){this.checkSync();this.incr();this.v=this.hmacSync(this.v);return this.v}}function isWithinCurveOrder(num){return _0n0){num=BigInt(key)}else if(typeof key==="string"){if(key.length!==64)throw new Error("Expected 32 bytes of private key");num=hexToNumber(key)}else if(key instanceof Uint8Array){if(key.length!==32)throw new Error("Expected 32 bytes of private key");num=bytesToNumber$1(key)}else{throw new TypeError("Expected valid private key")}if(!isWithinCurveOrder(num))throw new Error("Expected private key: 0 < key < n");return num}function normalizePublicKey(publicKey){if(publicKey instanceof Point){publicKey.assertValidity();return publicKey}else{return Point.fromHex(publicKey)}}function normalizeSignature(signature){if(signature instanceof Signature){signature.assertValidity();return signature}try{return Signature.fromDER(signature)}catch(error){return Signature.fromCompact(signature)}}function getPublicKey$1(privateKey,isCompressed=false){return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed)}function isProbPub(item){const arr=item instanceof Uint8Array;const str=typeof item==="string";const len=(arr||str)&&item.length;if(arr)return len===33||len===65;if(str)return len===66||len===130;if(item instanceof Point)return true;return false}function getSharedSecret(privateA,publicB,isCompressed=false){if(isProbPub(privateA))throw new TypeError("getSharedSecret: first arg must be private key");if(!isProbPub(publicB))throw new TypeError("getSharedSecret: second arg must be public key");const b=normalizePublicKey(publicB);b.assertValidity();return b.multiply(normalizePrivateKey(privateA)).toRawBytes(isCompressed)}function bits2int(bytes){const slice=bytes.length>32?bytes.slice(0,32):bytes;return bytesToNumber$1(slice)}function bits2octets(bytes){const z1=bits2int(bytes);const z2=mod(z1,CURVE.n);return int2octets(z2<_0n?z1:z2)}function int2octets(num){return numTo32b(num)}function initSigArgs(msgHash,privateKey,extraEntropy){if(msgHash==null)throw new Error(`sign: expected valid message hash, not "${msgHash}"`);const h1=ensureBytes(msgHash);const d=normalizePrivateKey(privateKey);const seedArgs=[int2octets(d),bits2octets(h1)];if(extraEntropy!=null){if(extraEntropy===true)extraEntropy=utils$1.randomBytes(32);const e=ensureBytes(extraEntropy);if(e.length!==32)throw new Error("sign: Expected 32 bytes of extra data");seedArgs.push(e)}const seed=concatBytes$1(...seedArgs);const m=bits2int(h1);return{seed:seed,m:m,d:d}}function finalizeSig(recSig,opts){let{sig,recovery}=recSig;const{canonical,der,recovered}=Object.assign({canonical:true,der:true},opts);if(canonical&&sig.hasHighS()){sig=sig.normalizeS();recovery^=1}const hashed=der?sig.toDERRawBytes():sig.toCompactRawBytes();return recovered?[hashed,recovery]:hashed}function signSync(msgHash,privKey,opts={}){const{seed,m,d}=initSigArgs(msgHash,privKey,opts.extraEntropy);let sig;const drbg=new HmacDrbg;drbg.reseedSync(seed);while(!(sig=kmdToSig(drbg.generateSync(),m,d)))drbg.reseedSync();return finalizeSig(sig,opts)}const vopts={strict:true};function verify(signature,msgHash,publicKey,opts=vopts){let sig;try{sig=normalizeSignature(signature);msgHash=ensureBytes(msgHash)}catch(error){return false}const{r,s}=sig;if(opts.strict&&sig.hasHighS())return false;const h=truncateHash(msgHash);let P;try{P=normalizePublicKey(publicKey)}catch(error){return false}const{n}=CURVE;const sinv=invert(s,n);const u1=mod(h*sinv,n);const u2=mod(r*sinv,n);const R=Point.BASE.multiplyAndAddUnsafe(P,u1,u2);if(!R)return false;const v=mod(R.x,n);return v===r}function schnorrChallengeFinalize(ch){return mod(bytesToNumber$1(ch),CURVE.n)}class SchnorrSignature{constructor(r,s){this.r=r;this.s=s;this.assertValidity()}static fromHex(hex){const bytes=ensureBytes(hex);if(bytes.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${bytes.length}`);const r=bytesToNumber$1(bytes.subarray(0,32));const s=bytesToNumber$1(bytes.subarray(32,64));return new SchnorrSignature(r,s)}assertValidity(){const{r,s}=this;if(!isValidFieldElement(r)||!isWithinCurveOrder(s))throw new Error("Invalid signature")}toHex(){return numTo32bStr(this.r)+numTo32bStr(this.s)}toRawBytes(){return hexToBytes$1(this.toHex())}}function schnorrGetPublicKey(privateKey){return Point.fromPrivateKey(privateKey).toRawX()}class InternalSchnorrSignature{constructor(message,privateKey,auxRand=utils$1.randomBytes()){if(message==null)throw new TypeError(`sign: Expected valid message, not "${message}"`);this.m=ensureBytes(message);const{x,scalar}=this.getScalar(normalizePrivateKey(privateKey));this.px=x;this.d=scalar;this.rand=ensureBytes(auxRand);if(this.rand.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(priv){const point=Point.fromPrivateKey(priv);const scalar=point.hasEvenY()?priv:CURVE.n-priv;return{point:point,scalar:scalar,x:point.toRawX()}}initNonce(d,t0h){return numTo32b(d^bytesToNumber$1(t0h))}finalizeNonce(k0h){const k0=mod(bytesToNumber$1(k0h),CURVE.n);if(k0===_0n)throw new Error("sign: Creation of signature failed. k is zero");const{point:R,x:rx,scalar:k}=this.getScalar(k0);return{R:R,rx:rx,k:k}}finalizeSig(R,k,e,d){return new SchnorrSignature(R.x,mod(k+e*d,CURVE.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}async calc(){const{m,d,px,rand}=this;const tag=utils$1.taggedHash;const t=this.initNonce(d,await tag(TAGS.aux,rand));const{R,rx,k}=this.finalizeNonce(await tag(TAGS.nonce,t,px,m));const e=schnorrChallengeFinalize(await tag(TAGS.challenge,rx,px,m));const sig=this.finalizeSig(R,k,e,d);if(!await schnorrVerify(sig,m,px))this.error();return sig}calcSync(){const{m,d,px,rand}=this;const tag=utils$1.taggedHashSync;const t=this.initNonce(d,tag(TAGS.aux,rand));const{R,rx,k}=this.finalizeNonce(tag(TAGS.nonce,t,px,m));const e=schnorrChallengeFinalize(tag(TAGS.challenge,rx,px,m));const sig=this.finalizeSig(R,k,e,d);if(!schnorrVerifySync(sig,m,px))this.error();return sig}}async function schnorrSign(msg,privKey,auxRand){return new InternalSchnorrSignature(msg,privKey,auxRand).calc()}function schnorrSignSync(msg,privKey,auxRand){return new InternalSchnorrSignature(msg,privKey,auxRand).calcSync()}function initSchnorrVerify(signature,message,publicKey){const raw=signature instanceof SchnorrSignature;const sig=raw?signature:SchnorrSignature.fromHex(signature);if(raw)sig.assertValidity();return{...sig,m:ensureBytes(message),P:normalizePublicKey(publicKey)}}function finalizeSchnorrVerify(r,P,s,e){const R=Point.BASE.multiplyAndAddUnsafe(P,normalizePrivateKey(s),mod(-e,CURVE.n));if(!R||!R.hasEvenY()||R.x!==r)return false;return true}async function schnorrVerify(signature,message,publicKey){try{const{r,s,m,P}=initSchnorrVerify(signature,message,publicKey);const e=schnorrChallengeFinalize(await utils$1.taggedHash(TAGS.challenge,numTo32b(r),P.toRawX(),m));return finalizeSchnorrVerify(r,P,s,e)}catch(error){return false}}function schnorrVerifySync(signature,message,publicKey){try{const{r,s,m,P}=initSchnorrVerify(signature,message,publicKey);const e=schnorrChallengeFinalize(utils$1.taggedHashSync(TAGS.challenge,numTo32b(r),P.toRawX(),m));return finalizeSchnorrVerify(r,P,s,e)}catch(error){if(error instanceof ShaError)throw error;return false}}const schnorr={Signature:SchnorrSignature,getPublicKey:schnorrGetPublicKey,sign:schnorrSign,verify:schnorrVerify,signSync:schnorrSignSync,verifySync:schnorrVerifySync};Point.BASE._setWindowSize(8);const crypto$2={node:nodeCrypto,web:typeof self==="object"&&"crypto"in self?self.crypto:undefined};const TAGS={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"};const TAGGED_HASH_PREFIXES={};const utils$1={bytesToHex:bytesToHex$1,hexToBytes:hexToBytes$1,concatBytes:concatBytes$1,mod:mod,invert:invert,isValidPrivateKey(privateKey){try{normalizePrivateKey(privateKey);return true}catch(error){return false}},_bigintTo32Bytes:numTo32b,_normalizePrivateKey:normalizePrivateKey,hashToPrivateKey:hash=>{hash=ensureBytes(hash);if(hash.length<40||hash.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");const num=mod(bytesToNumber$1(hash),CURVE.n-_1n)+_1n;return numTo32b(num)},randomBytes:(bytesLength=32)=>{if(crypto$2.web){return crypto$2.web.getRandomValues(new Uint8Array(bytesLength))}else if(crypto$2.node){const{randomBytes}=crypto$2.node;return Uint8Array.from(randomBytes(bytesLength))}else{throw new Error("The environment doesn't have randomBytes function")}},randomPrivateKey:()=>{return utils$1.hashToPrivateKey(utils$1.randomBytes(40))},sha256:async(...messages)=>{if(crypto$2.web){const buffer=await crypto$2.web.subtle.digest("SHA-256",concatBytes$1(...messages));return new Uint8Array(buffer)}else if(crypto$2.node){const{createHash}=crypto$2.node;const hash=createHash("sha256");messages.forEach(m=>hash.update(m));return Uint8Array.from(hash.digest())}else{throw new Error("The environment doesn't have sha256 function")}},hmacSha256:async(key,...messages)=>{if(crypto$2.web){const ckey=await crypto$2.web.subtle.importKey("raw",key,{name:"HMAC",hash:{name:"SHA-256"}},false,["sign"]);const message=concatBytes$1(...messages);const buffer=await crypto$2.web.subtle.sign("HMAC",ckey,message);return new Uint8Array(buffer)}else if(crypto$2.node){const{createHmac}=crypto$2.node;const hash=createHmac("sha256",key);messages.forEach(m=>hash.update(m));return Uint8Array.from(hash.digest())}else{throw new Error("The environment doesn't have hmac-sha256 function")}},sha256Sync:undefined,hmacSha256Sync:undefined,taggedHash:async(tag,...messages)=>{let tagP=TAGGED_HASH_PREFIXES[tag];if(tagP===undefined){const tagH=await utils$1.sha256(Uint8Array.from(tag,c=>c.charCodeAt(0)));tagP=concatBytes$1(tagH,tagH);TAGGED_HASH_PREFIXES[tag]=tagP}return utils$1.sha256(tagP,...messages)},taggedHashSync:(tag,...messages)=>{if(typeof _sha256Sync!=="function")throw new ShaError("sha256Sync is undefined, you need to set it");let tagP=TAGGED_HASH_PREFIXES[tag];if(tagP===undefined){const tagH=_sha256Sync(Uint8Array.from(tag,c=>c.charCodeAt(0)));tagP=concatBytes$1(tagH,tagH);TAGGED_HASH_PREFIXES[tag]=tagP}return _sha256Sync(tagP,...messages)},precompute(windowSize=8,point=Point.BASE){const cached=point===Point.BASE?point:new Point(point.x,point.y);cached._setWindowSize(windowSize);cached.multiply(_3n);return cached}};Object.defineProperties(utils$1,{sha256Sync:{configurable:false,get(){return _sha256Sync},set(val){if(!_sha256Sync)_sha256Sync=val}},hmacSha256Sync:{configurable:false,get(){return _hmacSha256Sync},set(val){if(!_hmacSha256Sync)_hmacSha256Sync=val}}});function number$1(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function bool$1(b){if(typeof b!=="boolean")throw new Error(`Expected boolean, not ${b}`)}function bytes$1(b,...lengths){if(!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(lengths.length>0&&!lengths.includes(b.length))throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`)}function hash$2(hash){if(typeof hash!=="function"||typeof hash.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number$1(hash.outputLen);number$1(hash.blockLen)}function exists$1(instance,checkFinished=true){if(instance.destroyed)throw new Error("Hash instance has been destroyed");if(checkFinished&&instance.finished)throw new Error("Hash#digest() has already been called")}function output$1(out,instance){bytes$1(out);const min=instance.outputLen;if(out.lengthnew DataView(arr.buffer,arr.byteOffset,arr.byteLength);const rotr=(word,shift)=>word<<32-shift|word>>>shift;const isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!isLE)throw new Error("Non little-endian hardware is not supported");const hexes=Array.from({length:256},(v,i)=>i.toString(16).padStart(2,"0"));function bytesToHex(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Uint8Array expected");let hex="";for(let i=0;ia instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;ihashConstructor().update(toBytes(message)).digest();const tmp=hashConstructor();hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=()=>hashConstructor();return hashC}function randomBytes(bytesLength=32){if(crypto$1.web){return crypto$1.web.getRandomValues(new Uint8Array(bytesLength))}else{throw new Error("The environment doesn't have randomBytes function")}}function setBigUint64$1(view,byteOffset,value,isLE){if(typeof view.setBigUint64==="function")return view.setBigUint64(byteOffset,value,isLE);const _32n=BigInt(32);const _u32_max=BigInt(4294967295);const wh=Number(value>>_32n&_u32_max);const wl=Number(value&_u32_max);const h=isLE?4:0;const l=isLE?0:4;view.setUint32(byteOffset+h,wh,isLE);view.setUint32(byteOffset+l,wl,isLE)}let SHA2$1=class SHA2 extends Hash{constructor(blockLen,outputLen,padOffset,isLE){super();this.blockLen=blockLen;this.outputLen=outputLen;this.padOffset=padOffset;this.isLE=isLE;this.finished=false;this.length=0;this.pos=0;this.destroyed=false;this.buffer=new Uint8Array(blockLen);this.view=createView(this.buffer)}update(data){assert$1.exists(this);const{view,buffer,blockLen}=this;data=toBytes(data);const len=data.length;for(let pos=0;posblockLen-pos){this.process(view,0);pos=0}for(let i=pos;istate.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;ia&b^~a&c;const Maj$1=(a,b,c)=>a&b^a&c^b&c;const SHA256_K$1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);const IV$1=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const SHA256_W$1=new Uint32Array(64);let SHA256$1=class SHA256 extends SHA2$1{constructor(){super(64,32,8,false);this.A=IV$1[0]|0;this.B=IV$1[1]|0;this.C=IV$1[2]|0;this.D=IV$1[3]|0;this.E=IV$1[4]|0;this.F=IV$1[5]|0;this.G=IV$1[6]|0;this.H=IV$1[7]|0}get(){const{A,B,C,D,E,F,G,H}=this;return[A,B,C,D,E,F,G,H]}set(A,B,C,D,E,F,G,H){this.A=A|0;this.B=B|0;this.C=C|0;this.D=D|0;this.E=E|0;this.F=F|0;this.G=G|0;this.H=H|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)SHA256_W$1[i]=view.getUint32(offset,false);for(let i=16;i<64;i++){const W15=SHA256_W$1[i-15];const W2=SHA256_W$1[i-2];const s0=rotr(W15,7)^rotr(W15,18)^W15>>>3;const s1=rotr(W2,17)^rotr(W2,19)^W2>>>10;SHA256_W$1[i]=s1+SHA256_W$1[i-7]+s0+SHA256_W$1[i-16]|0}let{A,B,C,D,E,F,G,H}=this;for(let i=0;i<64;i++){const sigma1=rotr(E,6)^rotr(E,11)^rotr(E,25);const T1=H+sigma1+Chi$1(E,F,G)+SHA256_K$1[i]+SHA256_W$1[i]|0;const sigma0=rotr(A,2)^rotr(A,13)^rotr(A,22);const T2=sigma0+Maj$1(A,B,C)|0;H=G;G=F;F=E;E=D+T1|0;D=C;C=B;B=A;A=T1+T2|0}A=A+this.A|0;B=B+this.B|0;C=C+this.C|0;D=D+this.D|0;E=E+this.E|0;F=F+this.F|0;G=G+this.G|0;H=H+this.H|0;this.set(A,B,C,D,E,F,G,H)}roundClean(){SHA256_W$1.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0);this.buffer.fill(0)}};let SHA224$1=class SHA224 extends SHA256$1{constructor(){super();this.A=3238371032|0;this.B=914150663|0;this.C=812702999|0;this.D=4144912697|0;this.E=4290775857|0;this.F=1750603025|0;this.G=1694076839|0;this.H=3204075428|0;this.outputLen=28}};const sha256$1=wrapConstructor(()=>new SHA256$1);wrapConstructor(()=>new SHA224$1);function assertNumber(n){if(!Number.isSafeInteger(n))throw new Error(`Wrong integer: ${n}`)}function chain(...args){const wrap=(a,b)=>c=>a(b(c));const encode=Array.from(args).reverse().reduce((acc,i)=>acc?wrap(acc,i.encode):i.encode,undefined);const decode=args.reduce((acc,i)=>acc?wrap(acc,i.decode):i.decode,undefined);return{encode:encode,decode:decode}}function alphabet(alphabet){return{encode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("alphabet.encode input should be an array of numbers");return digits.map(i=>{assertNumber(i);if(i<0||i>=alphabet.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);return alphabet[i]})},decode:input=>{if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("alphabet.decode input should be array of strings");return input.map(letter=>{if(typeof letter!=="string")throw new Error(`alphabet.decode: not string element=${letter}`);const index=alphabet.indexOf(letter);if(index===-1)throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`);return index})}}}function join(separator=""){if(typeof separator!=="string")throw new Error("join separator should be string");return{encode:from=>{if(!Array.isArray(from)||from.length&&typeof from[0]!=="string")throw new Error("join.encode input should be array of strings");for(let i of from)if(typeof i!=="string")throw new Error(`join.encode: non-string input=${i}`);return from.join(separator)},decode:to=>{if(typeof to!=="string")throw new Error("join.decode input should be string");return to.split(separator)}}}function padding(bits,chr="="){assertNumber(bits);if(typeof chr!=="string")throw new Error("padding chr should be string");return{encode(data){if(!Array.isArray(data)||data.length&&typeof data[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of data)if(typeof i!=="string")throw new Error(`padding.encode: non-string input=${i}`);while(data.length*bits%8)data.push(chr);return data},decode(input){if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of input)if(typeof i!=="string")throw new Error(`padding.decode: non-string input=${i}`);let end=input.length;if(end*bits%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;end>0&&input[end-1]===chr;end--){if(!((end-1)*bits%8))throw new Error("Invalid padding: string has too much padding")}return input.slice(0,end)}}}function normalize$1(fn){if(typeof fn!=="function")throw new Error("normalize fn should be function");return{encode:from=>from,decode:to=>fn(to)}}function convertRadix(data,from,to){if(from<2)throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);if(to<2)throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);if(!Array.isArray(data))throw new Error("convertRadix: data should be array");if(!data.length)return[];let pos=0;const res=[];const digits=Array.from(data);digits.forEach(d=>{assertNumber(d);if(d<0||d>=from)throw new Error(`Wrong integer: ${d}`)});while(true){let carry=0;let done=true;for(let i=pos;i!b?a:gcd(b,a%b);const radix2carry=(from,to)=>from+(to-gcd(from,to));function convertRadix2(data,from,to,padding){if(!Array.isArray(data))throw new Error("convertRadix2: data should be array");if(from<=0||from>32)throw new Error(`convertRadix2: wrong from=${from}`);if(to<=0||to>32)throw new Error(`convertRadix2: wrong to=${to}`);if(radix2carry(from,to)>32){throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from,to)}`)}let carry=0;let pos=0;const mask=2**to-1;const res=[];for(const n of data){assertNumber(n);if(n>=2**from)throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);carry=carry<32)throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);pos+=from;for(;pos>=to;pos-=to)res.push((carry>>pos-to&mask)>>>0);carry&=2**pos-1}carry=carry<=from)throw new Error("Excess padding");if(!padding&&carry)throw new Error(`Non-zero padding: ${carry}`);if(padding&&pos>0)res.push(carry>>>0);return res}function radix(num){assertNumber(num);return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return convertRadix(Array.from(bytes),2**8,num)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(convertRadix(digits,num,2**8))}}}function radix2(bits,revPadding=false){assertNumber(bits);if(bits<=0||bits>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,bits)>32||radix2carry(bits,8)>32)throw new Error("radix2: carry overflow");return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(bytes),8,bits,!revPadding)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(convertRadix2(digits,bits,8,revPadding))}}}function unsafeWrapper(fn){if(typeof fn!=="function")throw new Error("unsafeWrapper fn should be function");return function(...args){try{return fn.apply(null,args)}catch(e){}}}function checksum(len,fn){assertNumber(len);if(typeof fn!=="function")throw new Error("checksum fn should be function");return{encode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const checksum=fn(data).slice(0,len);const res=new Uint8Array(data.length+len);res.set(data);res.set(checksum,data.length);return res},decode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const payload=data.slice(0,-len);const newChecksum=fn(payload).slice(0,len);const oldChecksum=data.slice(-len);for(let i=0;is.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const base64=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),padding(6),join(""));const base64url=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),padding(6),join(""));const genBase58=abc=>chain(radix(58),alphabet(abc),join(""));const base58=genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const XMR_BLOCK_LEN=[0,2,3,5,6,7,9,10,11];const base58xmr={encode(data){let res="";for(let i=0;ichain(checksum(4,data=>sha256(sha256(data))),base58);const BECH_ALPHABET=chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),join(""));const POLYMOD_GENERATORS=[996825010,642813549,513874426,1027748829,705979059];function bech32Polymod(pre){const b=pre>>25;let chk=(pre&33554431)<<5;for(let i=0;i>i&1)===1)chk^=POLYMOD_GENERATORS[i]}return chk}function bechChecksum(prefix,words,encodingConst=1){const len=prefix.length;let chk=1;for(let i=0;i126)throw new Error(`Invalid prefix (${prefix})`);chk=bech32Polymod(chk)^c>>5}chk=bech32Polymod(chk);for(let i=0;ilimit)throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);prefix=prefix.toLowerCase();return`${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix,words,ENCODING_CONST)}`}function decode(str,limit=90){if(typeof str!=="string")throw new Error(`bech32.decode input should be string, not ${typeof str}`);if(str.length<8||limit!==false&&str.length>limit)throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);const lowered=str.toLowerCase();if(str!==lowered&&str!==str.toUpperCase())throw new Error(`String must be lowercase or uppercase`);str=lowered;const sepIndex=str.lastIndexOf("1");if(sepIndex===0||sepIndex===-1)throw new Error(`Letter "1" must be present between prefix and data only`);const prefix=str.slice(0,sepIndex);const _words=str.slice(sepIndex+1);if(_words.length<6)throw new Error("Data must be at least 6 characters long");const words=BECH_ALPHABET.decode(_words).slice(0,-6);const sum=bechChecksum(prefix,words,ENCODING_CONST);if(!_words.endsWith(sum))throw new Error(`Invalid checksum in ${str}: expected "${sum}"`);return{prefix:prefix,words:words}}const decodeUnsafe=unsafeWrapper(decode);function decodeToBytes(str){const{prefix,words}=decode(str,false);return{prefix:prefix,words:words,bytes:fromWords(words)}}return{encode:encode,decode:decode,decodeToBytes:decodeToBytes,decodeUnsafe:decodeUnsafe,fromWords:fromWords,fromWordsUnsafe:fromWordsUnsafe,toWords:toWords}}const bech32$1=genBech32("bech32");genBech32("bech32m");const utf8$1={encode:data=>(new TextDecoder).decode(data),decode:str=>(new TextEncoder).encode(str)};const hex$1=chain(radix2(4),alphabet("0123456789abcdef"),join(""),normalize$1(s=>{if(typeof s!=="string"||s.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);return s.toLowerCase()}));const CODERS={utf8:utf8$1,hex:hex$1,base16:base16,base32:base32,base64:base64,base64url:base64url,base58:base58,base58xmr:base58xmr};`Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`;var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var english={};Object.defineProperty(english,"__esModule",{value:true});var wordlist=english.wordlist=void 0;wordlist=english.wordlist=`abandon +ability +able +about +above +absent +absorb +abstract +absurd +abuse +access +accident +account +accuse +achieve +acid +acoustic +acquire +across +act +action +actor +actress +actual +adapt +add +addict +address +adjust +admit +adult +advance +advice +aerobic +affair +afford +afraid +again +age +agent +agree +ahead +aim +air +airport +aisle +alarm +album +alcohol +alert +alien +all +alley +allow +almost +alone +alpha +already +also +alter +always +amateur +amazing +among +amount +amused +analyst +anchor +ancient +anger +angle +angry +animal +ankle +announce +annual +another +answer +antenna +antique +anxiety +any +apart +apology +appear +apple +approve +april +arch +arctic +area +arena +argue +arm +armed +armor +army +around +arrange +arrest +arrive +arrow +art +artefact +artist +artwork +ask +aspect +assault +asset +assist +assume +asthma +athlete +atom +attack +attend +attitude +attract +auction +audit +august +aunt +author +auto +autumn +average +avocado +avoid +awake +aware +away +awesome +awful +awkward +axis +baby +bachelor +bacon +badge +bag +balance +balcony +ball +bamboo +banana +banner +bar +barely +bargain +barrel +base +basic +basket +battle +beach +bean +beauty +because +become +beef +before +begin +behave +behind +believe +below +belt +bench +benefit +best +betray +better +between +beyond +bicycle +bid +bike +bind +biology +bird +birth +bitter +black +blade +blame +blanket +blast +bleak +bless +blind +blood +blossom +blouse +blue +blur +blush +board +boat +body +boil +bomb +bone +bonus +book +boost +border +boring +borrow +boss +bottom +bounce +box +boy +bracket +brain +brand +brass +brave +bread +breeze +brick +bridge +brief +bright +bring +brisk +broccoli +broken +bronze +broom +brother +brown +brush +bubble +buddy +budget +buffalo +build +bulb +bulk +bullet +bundle +bunker +burden +burger +burst +bus +business +busy +butter +buyer +buzz +cabbage +cabin +cable +cactus +cage +cake +call +calm +camera +camp +can +canal +cancel +candy +cannon +canoe +canvas +canyon +capable +capital +captain +car +carbon +card +cargo +carpet +carry +cart +case +cash +casino +castle +casual +cat +catalog +catch +category +cattle +caught +cause +caution +cave +ceiling +celery +cement +census +century +cereal +certain +chair +chalk +champion +change +chaos +chapter +charge +chase +chat +cheap +check +cheese +chef +cherry +chest +chicken +chief +child +chimney +choice +choose +chronic +chuckle +chunk +churn +cigar +cinnamon +circle +citizen +city +civil +claim +clap +clarify +claw +clay +clean +clerk +clever +click +client +cliff +climb +clinic +clip +clock +clog +close +cloth +cloud +clown +club +clump +cluster +clutch +coach +coast +coconut +code +coffee +coil +coin +collect +color +column +combine +come +comfort +comic +common +company +concert +conduct +confirm +congress +connect +consider +control +convince +cook +cool +copper +copy +coral +core +corn +correct +cost +cotton +couch +country +couple +course +cousin +cover +coyote +crack +cradle +craft +cram +crane +crash +crater +crawl +crazy +cream +credit +creek +crew +cricket +crime +crisp +critic +crop +cross +crouch +crowd +crucial +cruel +cruise +crumble +crunch +crush +cry +crystal +cube +culture +cup +cupboard +curious +current +curtain +curve +cushion +custom +cute +cycle +dad +damage +damp +dance +danger +daring +dash +daughter +dawn +day +deal +debate +debris +decade +december +decide +decline +decorate +decrease +deer +defense +define +defy +degree +delay +deliver +demand +demise +denial +dentist +deny +depart +depend +deposit +depth +deputy +derive +describe +desert +design +desk +despair +destroy +detail +detect +develop +device +devote +diagram +dial +diamond +diary +dice +diesel +diet +differ +digital +dignity +dilemma +dinner +dinosaur +direct +dirt +disagree +discover +disease +dish +dismiss +disorder +display +distance +divert +divide +divorce +dizzy +doctor +document +dog +doll +dolphin +domain +donate +donkey +donor +door +dose +double +dove +draft +dragon +drama +drastic +draw +dream +dress +drift +drill +drink +drip +drive +drop +drum +dry +duck +dumb +dune +during +dust +dutch +duty +dwarf +dynamic +eager +eagle +early +earn +earth +easily +east +easy +echo +ecology +economy +edge +edit +educate +effort +egg +eight +either +elbow +elder +electric +elegant +element +elephant +elevator +elite +else +embark +embody +embrace +emerge +emotion +employ +empower +empty +enable +enact +end +endless +endorse +enemy +energy +enforce +engage +engine +enhance +enjoy +enlist +enough +enrich +enroll +ensure +enter +entire +entry +envelope +episode +equal +equip +era +erase +erode +erosion +error +erupt +escape +essay +essence +estate +eternal +ethics +evidence +evil +evoke +evolve +exact +example +excess +exchange +excite +exclude +excuse +execute +exercise +exhaust +exhibit +exile +exist +exit +exotic +expand +expect +expire +explain +expose +express +extend +extra +eye +eyebrow +fabric +face +faculty +fade +faint +faith +fall +false +fame +family +famous +fan +fancy +fantasy +farm +fashion +fat +fatal +father +fatigue +fault +favorite +feature +february +federal +fee +feed +feel +female +fence +festival +fetch +fever +few +fiber +fiction +field +figure +file +film +filter +final +find +fine +finger +finish +fire +firm +first +fiscal +fish +fit +fitness +fix +flag +flame +flash +flat +flavor +flee +flight +flip +float +flock +floor +flower +fluid +flush +fly +foam +focus +fog +foil +fold +follow +food +foot +force +forest +forget +fork +fortune +forum +forward +fossil +foster +found +fox +fragile +frame +frequent +fresh +friend +fringe +frog +front +frost +frown +frozen +fruit +fuel +fun +funny +furnace +fury +future +gadget +gain +galaxy +gallery +game +gap +garage +garbage +garden +garlic +garment +gas +gasp +gate +gather +gauge +gaze +general +genius +genre +gentle +genuine +gesture +ghost +giant +gift +giggle +ginger +giraffe +girl +give +glad +glance +glare +glass +glide +glimpse +globe +gloom +glory +glove +glow +glue +goat +goddess +gold +good +goose +gorilla +gospel +gossip +govern +gown +grab +grace +grain +grant +grape +grass +gravity +great +green +grid +grief +grit +grocery +group +grow +grunt +guard +guess +guide +guilt +guitar +gun +gym +habit +hair +half +hammer +hamster +hand +happy +harbor +hard +harsh +harvest +hat +have +hawk +hazard +head +health +heart +heavy +hedgehog +height +hello +helmet +help +hen +hero +hidden +high +hill +hint +hip +hire +history +hobby +hockey +hold +hole +holiday +hollow +home +honey +hood +hope +horn +horror +horse +hospital +host +hotel +hour +hover +hub +huge +human +humble +humor +hundred +hungry +hunt +hurdle +hurry +hurt +husband +hybrid +ice +icon +idea +identify +idle +ignore +ill +illegal +illness +image +imitate +immense +immune +impact +impose +improve +impulse +inch +include +income +increase +index +indicate +indoor +industry +infant +inflict +inform +inhale +inherit +initial +inject +injury +inmate +inner +innocent +input +inquiry +insane +insect +inside +inspire +install +intact +interest +into +invest +invite +involve +iron +island +isolate +issue +item +ivory +jacket +jaguar +jar +jazz +jealous +jeans +jelly +jewel +job +join +joke +journey +joy +judge +juice +jump +jungle +junior +junk +just +kangaroo +keen +keep +ketchup +key +kick +kid +kidney +kind +kingdom +kiss +kit +kitchen +kite +kitten +kiwi +knee +knife +knock +know +lab +label +labor +ladder +lady +lake +lamp +language +laptop +large +later +latin +laugh +laundry +lava +law +lawn +lawsuit +layer +lazy +leader +leaf +learn +leave +lecture +left +leg +legal +legend +leisure +lemon +lend +length +lens +leopard +lesson +letter +level +liar +liberty +library +license +life +lift +light +like +limb +limit +link +lion +liquid +list +little +live +lizard +load +loan +lobster +local +lock +logic +lonely +long +loop +lottery +loud +lounge +love +loyal +lucky +luggage +lumber +lunar +lunch +luxury +lyrics +machine +mad +magic +magnet +maid +mail +main +major +make +mammal +man +manage +mandate +mango +mansion +manual +maple +marble +march +margin +marine +market +marriage +mask +mass +master +match +material +math +matrix +matter +maximum +maze +meadow +mean +measure +meat +mechanic +medal +media +melody +melt +member +memory +mention +menu +mercy +merge +merit +merry +mesh +message +metal +method +middle +midnight +milk +million +mimic +mind +minimum +minor +minute +miracle +mirror +misery +miss +mistake +mix +mixed +mixture +mobile +model +modify +mom +moment +monitor +monkey +monster +month +moon +moral +more +morning +mosquito +mother +motion +motor +mountain +mouse +move +movie +much +muffin +mule +multiply +muscle +museum +mushroom +music +must +mutual +myself +mystery +myth +naive +name +napkin +narrow +nasty +nation +nature +near +neck +need +negative +neglect +neither +nephew +nerve +nest +net +network +neutral +never +news +next +nice +night +noble +noise +nominee +noodle +normal +north +nose +notable +note +nothing +notice +novel +now +nuclear +number +nurse +nut +oak +obey +object +oblige +obscure +observe +obtain +obvious +occur +ocean +october +odor +off +offer +office +often +oil +okay +old +olive +olympic +omit +once +one +onion +online +only +open +opera +opinion +oppose +option +orange +orbit +orchard +order +ordinary +organ +orient +original +orphan +ostrich +other +outdoor +outer +output +outside +oval +oven +over +own +owner +oxygen +oyster +ozone +pact +paddle +page +pair +palace +palm +panda +panel +panic +panther +paper +parade +parent +park +parrot +party +pass +patch +path +patient +patrol +pattern +pause +pave +payment +peace +peanut +pear +peasant +pelican +pen +penalty +pencil +people +pepper +perfect +permit +person +pet +phone +photo +phrase +physical +piano +picnic +picture +piece +pig +pigeon +pill +pilot +pink +pioneer +pipe +pistol +pitch +pizza +place +planet +plastic +plate +play +please +pledge +pluck +plug +plunge +poem +poet +point +polar +pole +police +pond +pony +pool +popular +portion +position +possible +post +potato +pottery +poverty +powder +power +practice +praise +predict +prefer +prepare +present +pretty +prevent +price +pride +primary +print +priority +prison +private +prize +problem +process +produce +profit +program +project +promote +proof +property +prosper +protect +proud +provide +public +pudding +pull +pulp +pulse +pumpkin +punch +pupil +puppy +purchase +purity +purpose +purse +push +put +puzzle +pyramid +quality +quantum +quarter +question +quick +quit +quiz +quote +rabbit +raccoon +race +rack +radar +radio +rail +rain +raise +rally +ramp +ranch +random +range +rapid +rare +rate +rather +raven +raw +razor +ready +real +reason +rebel +rebuild +recall +receive +recipe +record +recycle +reduce +reflect +reform +refuse +region +regret +regular +reject +relax +release +relief +rely +remain +remember +remind +remove +render +renew +rent +reopen +repair +repeat +replace +report +require +rescue +resemble +resist +resource +response +result +retire +retreat +return +reunion +reveal +review +reward +rhythm +rib +ribbon +rice +rich +ride +ridge +rifle +right +rigid +ring +riot +ripple +risk +ritual +rival +river +road +roast +robot +robust +rocket +romance +roof +rookie +room +rose +rotate +rough +round +route +royal +rubber +rude +rug +rule +run +runway +rural +sad +saddle +sadness +safe +sail +salad +salmon +salon +salt +salute +same +sample +sand +satisfy +satoshi +sauce +sausage +save +say +scale +scan +scare +scatter +scene +scheme +school +science +scissors +scorpion +scout +scrap +screen +script +scrub +sea +search +season +seat +second +secret +section +security +seed +seek +segment +select +sell +seminar +senior +sense +sentence +series +service +session +settle +setup +seven +shadow +shaft +shallow +share +shed +shell +sheriff +shield +shift +shine +ship +shiver +shock +shoe +shoot +shop +short +shoulder +shove +shrimp +shrug +shuffle +shy +sibling +sick +side +siege +sight +sign +silent +silk +silly +silver +similar +simple +since +sing +siren +sister +situate +six +size +skate +sketch +ski +skill +skin +skirt +skull +slab +slam +sleep +slender +slice +slide +slight +slim +slogan +slot +slow +slush +small +smart +smile +smoke +smooth +snack +snake +snap +sniff +snow +soap +soccer +social +sock +soda +soft +solar +soldier +solid +solution +solve +someone +song +soon +sorry +sort +soul +sound +soup +source +south +space +spare +spatial +spawn +speak +special +speed +spell +spend +sphere +spice +spider +spike +spin +spirit +split +spoil +sponsor +spoon +sport +spot +spray +spread +spring +spy +square +squeeze +squirrel +stable +stadium +staff +stage +stairs +stamp +stand +start +state +stay +steak +steel +stem +step +stereo +stick +still +sting +stock +stomach +stone +stool +story +stove +strategy +street +strike +strong +struggle +student +stuff +stumble +style +subject +submit +subway +success +such +sudden +suffer +sugar +suggest +suit +summer +sun +sunny +sunset +super +supply +supreme +sure +surface +surge +surprise +surround +survey +suspect +sustain +swallow +swamp +swap +swarm +swear +sweet +swift +swim +swing +switch +sword +symbol +symptom +syrup +system +table +tackle +tag +tail +talent +talk +tank +tape +target +task +taste +tattoo +taxi +teach +team +tell +ten +tenant +tennis +tent +term +test +text +thank +that +theme +then +theory +there +they +thing +this +thought +three +thrive +throw +thumb +thunder +ticket +tide +tiger +tilt +timber +time +tiny +tip +tired +tissue +title +toast +tobacco +today +toddler +toe +together +toilet +token +tomato +tomorrow +tone +tongue +tonight +tool +tooth +top +topic +topple +torch +tornado +tortoise +toss +total +tourist +toward +tower +town +toy +track +trade +traffic +tragic +train +transfer +trap +trash +travel +tray +treat +tree +trend +trial +tribe +trick +trigger +trim +trip +trophy +trouble +truck +true +truly +trumpet +trust +truth +try +tube +tuition +tumble +tuna +tunnel +turkey +turn +turtle +twelve +twenty +twice +twin +twist +two +type +typical +ugly +umbrella +unable +unaware +uncle +uncover +under +undo +unfair +unfold +unhappy +uniform +unique +unit +universe +unknown +unlock +until +unusual +unveil +update +upgrade +uphold +upon +upper +upset +urban +urge +usage +use +used +useful +useless +usual +utility +vacant +vacuum +vague +valid +valley +valve +van +vanish +vapor +various +vast +vault +vehicle +velvet +vendor +venture +venue +verb +verify +version +very +vessel +veteran +viable +vibrant +vicious +victory +video +view +village +vintage +violin +virtual +virus +visa +visit +visual +vital +vivid +vocal +voice +void +volcano +volume +vote +voyage +wage +wagon +wait +walk +wall +walnut +want +warfare +warm +warrior +wash +wasp +waste +water +wave +way +wealth +weapon +wear +weasel +weather +web +wedding +weekend +weird +welcome +west +wet +whale +what +wheat +wheel +when +where +whip +whisper +wide +width +wife +wild +will +win +window +wine +wing +wink +winner +winter +wire +wisdom +wise +wish +witness +wolf +woman +wonder +wood +wool +word +work +world +worry +worth +wrap +wreck +wrestle +wrist +write +wrong +yard +year +yellow +you +young +youth +zebra +zero +zone +zoo`.split("\n");var bip39={};var _assert={};Object.defineProperty(_assert,"__esModule",{value:true});_assert.output=_assert.exists=_assert.hash=_assert.bytes=_assert.bool=_assert.number=void 0;function number(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}_assert.number=number;function bool(b){if(typeof b!=="boolean")throw new Error(`Expected boolean, not ${b}`)}_assert.bool=bool;function bytes(b,...lengths){if(!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(lengths.length>0&&!lengths.includes(b.length))throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`)}_assert.bytes=bytes;function hash$1(hash){if(typeof hash!=="function"||typeof hash.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number(hash.outputLen);number(hash.blockLen)}_assert.hash=hash$1;function exists(instance,checkFinished=true){if(instance.destroyed)throw new Error("Hash instance has been destroyed");if(checkFinished&&instance.finished)throw new Error("Hash#digest() has already been called")}_assert.exists=exists;function output(out,instance){bytes(out);const min=instance.outputLen;if(out.lengthnew Uint8Array(arr.buffer,arr.byteOffset,arr.byteLength);exports.u8=u8;const u32=arr=>new Uint32Array(arr.buffer,arr.byteOffset,Math.floor(arr.byteLength/4));exports.u32=u32;const createView=arr=>new DataView(arr.buffer,arr.byteOffset,arr.byteLength);exports.createView=createView;const rotr=(word,shift)=>word<<32-shift|word>>>shift;exports.rotr=rotr;exports.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!exports.isLE)throw new Error("Non little-endian hardware is not supported");const hexes=Array.from({length:256},(v,i)=>i.toString(16).padStart(2,"0"));function bytesToHex(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Uint8Array expected");let hex="";for(let i=0;i{};exports.nextTick=nextTick;async function asyncLoop(iters,tick,cb){let ts=Date.now();for(let i=0;i=0&&diffa instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;iObject.prototype.toString.call(obj)==="[object Object]"&&obj.constructor===Object;function checkOpts(defaults,opts){if(opts!==undefined&&(typeof opts!=="object"||!isPlainObject(opts)))throw new TypeError("Options should be object or undefined");const merged=Object.assign(defaults,opts);return merged}exports.checkOpts=checkOpts;function wrapConstructor(hashConstructor){const hashC=message=>hashConstructor().update(toBytes(message)).digest();const tmp=hashConstructor();hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=()=>hashConstructor();return hashC}exports.wrapConstructor=wrapConstructor;function wrapConstructorWithOpts(hashCons){const hashC=(msg,opts)=>hashCons(opts).update(toBytes(msg)).digest();const tmp=hashCons({});hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=opts=>hashCons(opts);return hashC}exports.wrapConstructorWithOpts=wrapConstructorWithOpts;function randomBytes(bytesLength=32){if(crypto_1.crypto.web){return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength))}else if(crypto_1.crypto.node){return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer)}else{throw new Error("The environment doesn't have randomBytes function")}}exports.randomBytes=randomBytes})(utils);(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.hmac=void 0;const _assert_js_1=_assert;const utils_js_1=utils;class HMAC extends utils_js_1.Hash{constructor(hash,_key){super();this.finished=false;this.destroyed=false;_assert_js_1.default.hash(hash);const key=(0,utils_js_1.toBytes)(_key);this.iHash=hash.create();if(typeof this.iHash.update!=="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const blockLen=this.blockLen;const pad=new Uint8Array(blockLen);pad.set(key.length>blockLen?hash.create().update(key).digest():key);for(let i=0;inew HMAC(hash,key).update(message).digest();exports.hmac=hmac;exports.hmac.create=(hash,key)=>new HMAC(hash,key)})(hmac$1);Object.defineProperty(pbkdf2$1,"__esModule",{value:true});pbkdf2$1.pbkdf2Async=pbkdf2$1.pbkdf2=void 0;const _assert_js_1$1=_assert;const hmac_js_1=hmac$1;const utils_js_1$3=utils;function pbkdf2Init(hash,_password,_salt,_opts){_assert_js_1$1.default.hash(hash);const opts=(0,utils_js_1$3.checkOpts)({dkLen:32,asyncTick:10},_opts);const{c,dkLen,asyncTick}=opts;_assert_js_1$1.default.number(c);_assert_js_1$1.default.number(dkLen);_assert_js_1$1.default.number(asyncTick);if(c<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const password=(0,utils_js_1$3.toBytes)(_password);const salt=(0,utils_js_1$3.toBytes)(_salt);const DK=new Uint8Array(dkLen);const PRF=hmac_js_1.hmac.create(hash,password);const PRFSalt=PRF._cloneInto().update(salt);return{c:c,dkLen:dkLen,asyncTick:asyncTick,DK:DK,PRF:PRF,PRFSalt:PRFSalt}}function pbkdf2Output(PRF,PRFSalt,DK,prfW,u){PRF.destroy();PRFSalt.destroy();if(prfW)prfW.destroy();u.fill(0);return DK}function pbkdf2(hash,password,salt,opts){const{c,dkLen,DK,PRF,PRFSalt}=pbkdf2Init(hash,password,salt,opts);let prfW;const arr=new Uint8Array(4);const view=(0,utils_js_1$3.createView)(arr);const u=new Uint8Array(PRF.outputLen);for(let ti=1,pos=0;pos{PRF._cloneInto(prfW).update(u).digestInto(u);for(let i=0;i>_32n&_u32_max);const wl=Number(value&_u32_max);const h=isLE?4:0;const l=isLE?0:4;view.setUint32(byteOffset+h,wh,isLE);view.setUint32(byteOffset+l,wl,isLE)}class SHA2 extends utils_js_1$2.Hash{constructor(blockLen,outputLen,padOffset,isLE){super();this.blockLen=blockLen;this.outputLen=outputLen;this.padOffset=padOffset;this.isLE=isLE;this.finished=false;this.length=0;this.pos=0;this.destroyed=false;this.buffer=new Uint8Array(blockLen);this.view=(0,utils_js_1$2.createView)(this.buffer)}update(data){_assert_js_1.default.exists(this);const{view,buffer,blockLen}=this;data=(0,utils_js_1$2.toBytes)(data);const len=data.length;for(let pos=0;posblockLen-pos){this.process(view,0);pos=0}for(let i=pos;istate.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;ia&b^~a&c;const Maj=(a,b,c)=>a&b^a&c^b&c;const SHA256_K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);const IV=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const SHA256_W=new Uint32Array(64);class SHA256 extends _sha2_js_1$1.SHA2{constructor(){super(64,32,8,false);this.A=IV[0]|0;this.B=IV[1]|0;this.C=IV[2]|0;this.D=IV[3]|0;this.E=IV[4]|0;this.F=IV[5]|0;this.G=IV[6]|0;this.H=IV[7]|0}get(){const{A,B,C,D,E,F,G,H}=this;return[A,B,C,D,E,F,G,H]}set(A,B,C,D,E,F,G,H){this.A=A|0;this.B=B|0;this.C=C|0;this.D=D|0;this.E=E|0;this.F=F|0;this.G=G|0;this.H=H|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)SHA256_W[i]=view.getUint32(offset,false);for(let i=16;i<64;i++){const W15=SHA256_W[i-15];const W2=SHA256_W[i-2];const s0=(0,utils_js_1$1.rotr)(W15,7)^(0,utils_js_1$1.rotr)(W15,18)^W15>>>3;const s1=(0,utils_js_1$1.rotr)(W2,17)^(0,utils_js_1$1.rotr)(W2,19)^W2>>>10;SHA256_W[i]=s1+SHA256_W[i-7]+s0+SHA256_W[i-16]|0}let{A,B,C,D,E,F,G,H}=this;for(let i=0;i<64;i++){const sigma1=(0,utils_js_1$1.rotr)(E,6)^(0,utils_js_1$1.rotr)(E,11)^(0,utils_js_1$1.rotr)(E,25);const T1=H+sigma1+Chi(E,F,G)+SHA256_K[i]+SHA256_W[i]|0;const sigma0=(0,utils_js_1$1.rotr)(A,2)^(0,utils_js_1$1.rotr)(A,13)^(0,utils_js_1$1.rotr)(A,22);const T2=sigma0+Maj(A,B,C)|0;H=G;G=F;F=E;E=D+T1|0;D=C;C=B;B=A;A=T1+T2|0}A=A+this.A|0;B=B+this.B|0;C=C+this.C|0;D=D+this.D|0;E=E+this.E|0;F=F+this.F|0;G=G+this.G|0;H=H+this.H|0;this.set(A,B,C,D,E,F,G,H)}roundClean(){SHA256_W.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0);this.buffer.fill(0)}}class SHA224 extends SHA256{constructor(){super();this.A=3238371032|0;this.B=914150663|0;this.C=812702999|0;this.D=4144912697|0;this.E=4290775857|0;this.F=1750603025|0;this.G=1694076839|0;this.H=3204075428|0;this.outputLen=28}}sha256.sha256=(0,utils_js_1$1.wrapConstructor)(()=>new SHA256);sha256.sha224=(0,utils_js_1$1.wrapConstructor)(()=>new SHA224);var sha512$1={};var _u64={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.add=exports.toBig=exports.split=exports.fromBig=void 0;const U32_MASK64=BigInt(2**32-1);const _32n=BigInt(32);function fromBig(n,le=false){if(le)return{h:Number(n&U32_MASK64),l:Number(n>>_32n&U32_MASK64)};return{h:Number(n>>_32n&U32_MASK64)|0,l:Number(n&U32_MASK64)|0}}exports.fromBig=fromBig;function split(lst,le=false){let Ah=new Uint32Array(lst.length);let Al=new Uint32Array(lst.length);for(let i=0;iBigInt(h>>>0)<<_32n|BigInt(l>>>0);exports.toBig=toBig;const shrSH=(h,l,s)=>h>>>s;const shrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrSH=(h,l,s)=>h>>>s|l<<32-s;const rotrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrBH=(h,l,s)=>h<<64-s|l>>>s-32;const rotrBL=(h,l,s)=>h>>>s-32|l<<64-s;const rotr32H=(h,l)=>l;const rotr32L=(h,l)=>h;const rotlSH=(h,l,s)=>h<>>32-s;const rotlSL=(h,l,s)=>l<>>32-s;const rotlBH=(h,l,s)=>l<>>64-s;const rotlBL=(h,l,s)=>h<>>64-s;function add(Ah,Al,Bh,Bl){const l=(Al>>>0)+(Bl>>>0);return{h:Ah+Bh+(l/2**32|0)|0,l:l|0}}exports.add=add;const add3L=(Al,Bl,Cl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0);const add3H=(low,Ah,Bh,Ch)=>Ah+Bh+Ch+(low/2**32|0)|0;const add4L=(Al,Bl,Cl,Dl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0);const add4H=(low,Ah,Bh,Ch,Dh)=>Ah+Bh+Ch+Dh+(low/2**32|0)|0;const add5L=(Al,Bl,Cl,Dl,El)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0)+(El>>>0);const add5H=(low,Ah,Bh,Ch,Dh,Eh)=>Ah+Bh+Ch+Dh+Eh+(low/2**32|0)|0;const u64={fromBig:fromBig,split:split,toBig:exports.toBig,shrSH:shrSH,shrSL:shrSL,rotrSH:rotrSH,rotrSL:rotrSL,rotrBH:rotrBH,rotrBL:rotrBL,rotr32H:rotr32H,rotr32L:rotr32L,rotlSH:rotlSH,rotlSL:rotlSL,rotlBH:rotlBH,rotlBL:rotlBL,add:add,add3L:add3L,add3H:add3H,add4L:add4L,add4H:add4H,add5H:add5H,add5L:add5L};exports.default=u64})(_u64);Object.defineProperty(sha512$1,"__esModule",{value:true});sha512$1.sha384=sha512$1.sha512_256=sha512$1.sha512_224=sha512$1.sha512=sha512$1.SHA512=void 0;const _sha2_js_1=_sha2;const _u64_js_1=_u64;const utils_js_1=utils;const[SHA512_Kh$1,SHA512_Kl$1]=_u64_js_1.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n)));const SHA512_W_H$1=new Uint32Array(80);const SHA512_W_L$1=new Uint32Array(80);let SHA512$1=class SHA512 extends _sha2_js_1.SHA2{constructor(){super(128,64,16,false);this.Ah=1779033703|0;this.Al=4089235720|0;this.Bh=3144134277|0;this.Bl=2227873595|0;this.Ch=1013904242|0;this.Cl=4271175723|0;this.Dh=2773480762|0;this.Dl=1595750129|0;this.Eh=1359893119|0;this.El=2917565137|0;this.Fh=2600822924|0;this.Fl=725511199|0;this.Gh=528734635|0;this.Gl=4215389547|0;this.Hh=1541459225|0;this.Hl=327033209|0}get(){const{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;return[Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl]}set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl){this.Ah=Ah|0;this.Al=Al|0;this.Bh=Bh|0;this.Bl=Bl|0;this.Ch=Ch|0;this.Cl=Cl|0;this.Dh=Dh|0;this.Dl=Dl|0;this.Eh=Eh|0;this.El=El|0;this.Fh=Fh|0;this.Fl=Fl|0;this.Gh=Gh|0;this.Gl=Gl|0;this.Hh=Hh|0;this.Hl=Hl|0}process(view,offset){for(let i=0;i<16;i++,offset+=4){SHA512_W_H$1[i]=view.getUint32(offset);SHA512_W_L$1[i]=view.getUint32(offset+=4)}for(let i=16;i<80;i++){const W15h=SHA512_W_H$1[i-15]|0;const W15l=SHA512_W_L$1[i-15]|0;const s0h=_u64_js_1.default.rotrSH(W15h,W15l,1)^_u64_js_1.default.rotrSH(W15h,W15l,8)^_u64_js_1.default.shrSH(W15h,W15l,7);const s0l=_u64_js_1.default.rotrSL(W15h,W15l,1)^_u64_js_1.default.rotrSL(W15h,W15l,8)^_u64_js_1.default.shrSL(W15h,W15l,7);const W2h=SHA512_W_H$1[i-2]|0;const W2l=SHA512_W_L$1[i-2]|0;const s1h=_u64_js_1.default.rotrSH(W2h,W2l,19)^_u64_js_1.default.rotrBH(W2h,W2l,61)^_u64_js_1.default.shrSH(W2h,W2l,6);const s1l=_u64_js_1.default.rotrSL(W2h,W2l,19)^_u64_js_1.default.rotrBL(W2h,W2l,61)^_u64_js_1.default.shrSL(W2h,W2l,6);const SUMl=_u64_js_1.default.add4L(s0l,s1l,SHA512_W_L$1[i-7],SHA512_W_L$1[i-16]);const SUMh=_u64_js_1.default.add4H(SUMl,s0h,s1h,SHA512_W_H$1[i-7],SHA512_W_H$1[i-16]);SHA512_W_H$1[i]=SUMh|0;SHA512_W_L$1[i]=SUMl|0}let{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;for(let i=0;i<80;i++){const sigma1h=_u64_js_1.default.rotrSH(Eh,El,14)^_u64_js_1.default.rotrSH(Eh,El,18)^_u64_js_1.default.rotrBH(Eh,El,41);const sigma1l=_u64_js_1.default.rotrSL(Eh,El,14)^_u64_js_1.default.rotrSL(Eh,El,18)^_u64_js_1.default.rotrBL(Eh,El,41);const CHIh=Eh&Fh^~Eh&Gh;const CHIl=El&Fl^~El&Gl;const T1ll=_u64_js_1.default.add5L(Hl,sigma1l,CHIl,SHA512_Kl$1[i],SHA512_W_L$1[i]);const T1h=_u64_js_1.default.add5H(T1ll,Hh,sigma1h,CHIh,SHA512_Kh$1[i],SHA512_W_H$1[i]);const T1l=T1ll|0;const sigma0h=_u64_js_1.default.rotrSH(Ah,Al,28)^_u64_js_1.default.rotrBH(Ah,Al,34)^_u64_js_1.default.rotrBH(Ah,Al,39);const sigma0l=_u64_js_1.default.rotrSL(Ah,Al,28)^_u64_js_1.default.rotrBL(Ah,Al,34)^_u64_js_1.default.rotrBL(Ah,Al,39);const MAJh=Ah&Bh^Ah&Ch^Bh&Ch;const MAJl=Al&Bl^Al&Cl^Bl&Cl;Hh=Gh|0;Hl=Gl|0;Gh=Fh|0;Gl=Fl|0;Fh=Eh|0;Fl=El|0;({h:Eh,l:El}=_u64_js_1.default.add(Dh|0,Dl|0,T1h|0,T1l|0));Dh=Ch|0;Dl=Cl|0;Ch=Bh|0;Cl=Bl|0;Bh=Ah|0;Bl=Al|0;const All=_u64_js_1.default.add3L(T1l,sigma0l,MAJl);Ah=_u64_js_1.default.add3H(All,T1h,sigma0h,MAJh);Al=All|0}({h:Ah,l:Al}=_u64_js_1.default.add(this.Ah|0,this.Al|0,Ah|0,Al|0));({h:Bh,l:Bl}=_u64_js_1.default.add(this.Bh|0,this.Bl|0,Bh|0,Bl|0));({h:Ch,l:Cl}=_u64_js_1.default.add(this.Ch|0,this.Cl|0,Ch|0,Cl|0));({h:Dh,l:Dl}=_u64_js_1.default.add(this.Dh|0,this.Dl|0,Dh|0,Dl|0));({h:Eh,l:El}=_u64_js_1.default.add(this.Eh|0,this.El|0,Eh|0,El|0));({h:Fh,l:Fl}=_u64_js_1.default.add(this.Fh|0,this.Fl|0,Fh|0,Fl|0));({h:Gh,l:Gl}=_u64_js_1.default.add(this.Gh|0,this.Gl|0,Gh|0,Gl|0));({h:Hh,l:Hl}=_u64_js_1.default.add(this.Hh|0,this.Hl|0,Hh|0,Hl|0));this.set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl)}roundClean(){SHA512_W_H$1.fill(0);SHA512_W_L$1.fill(0)}destroy(){this.buffer.fill(0);this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};sha512$1.SHA512=SHA512$1;let SHA512_224$1=class SHA512_224 extends SHA512$1{constructor(){super();this.Ah=2352822216|0;this.Al=424955298|0;this.Bh=1944164710|0;this.Bl=2312950998|0;this.Ch=502970286|0;this.Cl=855612546|0;this.Dh=1738396948|0;this.Dl=1479516111|0;this.Eh=258812777|0;this.El=2077511080|0;this.Fh=2011393907|0;this.Fl=79989058|0;this.Gh=1067287976|0;this.Gl=1780299464|0;this.Hh=286451373|0;this.Hl=2446758561|0;this.outputLen=28}};let SHA512_256$1=class SHA512_256 extends SHA512$1{constructor(){super();this.Ah=573645204|0;this.Al=4230739756|0;this.Bh=2673172387|0;this.Bl=3360449730|0;this.Ch=596883563|0;this.Cl=1867755857|0;this.Dh=2520282905|0;this.Dl=1497426621|0;this.Eh=2519219938|0;this.El=2827943907|0;this.Fh=3193839141|0;this.Fl=1401305490|0;this.Gh=721525244|0;this.Gl=746961066|0;this.Hh=246885852|0;this.Hl=2177182882|0;this.outputLen=32}};let SHA384$1=class SHA384 extends SHA512$1{constructor(){super();this.Ah=3418070365|0;this.Al=3238371032|0;this.Bh=1654270250|0;this.Bl=914150663|0;this.Ch=2438529370|0;this.Cl=812702999|0;this.Dh=355462360|0;this.Dl=4144912697|0;this.Eh=1731405415|0;this.El=4290775857|0;this.Fh=2394180231|0;this.Fl=1750603025|0;this.Gh=3675008525|0;this.Gl=1694076839|0;this.Hh=1203062813|0;this.Hl=3204075428|0;this.outputLen=48}};sha512$1.sha512=(0,utils_js_1.wrapConstructor)(()=>new SHA512$1);sha512$1.sha512_224=(0,utils_js_1.wrapConstructor)(()=>new SHA512_224$1);sha512$1.sha512_256=(0,utils_js_1.wrapConstructor)(()=>new SHA512_256$1);sha512$1.sha384=(0,utils_js_1.wrapConstructor)(()=>new SHA384$1);var lib$1={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.bytes=exports.stringToBytes=exports.str=exports.bytesToString=exports.hex=exports.utf8=exports.bech32m=exports.bech32=exports.base58check=exports.base58xmr=exports.base58xrp=exports.base58flickr=exports.base58=exports.base64url=exports.base64=exports.base32crockford=exports.base32hex=exports.base32=exports.base16=exports.utils=exports.assertNumber=void 0;function assertNumber(n){if(!Number.isSafeInteger(n))throw new Error(`Wrong integer: ${n}`)}exports.assertNumber=assertNumber;function chain(...args){const wrap=(a,b)=>c=>a(b(c));const encode=Array.from(args).reverse().reduce((acc,i)=>acc?wrap(acc,i.encode):i.encode,undefined);const decode=args.reduce((acc,i)=>acc?wrap(acc,i.decode):i.decode,undefined);return{encode:encode,decode:decode}}function alphabet(alphabet){return{encode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("alphabet.encode input should be an array of numbers");return digits.map(i=>{assertNumber(i);if(i<0||i>=alphabet.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);return alphabet[i]})},decode:input=>{if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("alphabet.decode input should be array of strings");return input.map(letter=>{if(typeof letter!=="string")throw new Error(`alphabet.decode: not string element=${letter}`);const index=alphabet.indexOf(letter);if(index===-1)throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`);return index})}}}function join(separator=""){if(typeof separator!=="string")throw new Error("join separator should be string");return{encode:from=>{if(!Array.isArray(from)||from.length&&typeof from[0]!=="string")throw new Error("join.encode input should be array of strings");for(let i of from)if(typeof i!=="string")throw new Error(`join.encode: non-string input=${i}`);return from.join(separator)},decode:to=>{if(typeof to!=="string")throw new Error("join.decode input should be string");return to.split(separator)}}}function padding(bits,chr="="){assertNumber(bits);if(typeof chr!=="string")throw new Error("padding chr should be string");return{encode(data){if(!Array.isArray(data)||data.length&&typeof data[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of data)if(typeof i!=="string")throw new Error(`padding.encode: non-string input=${i}`);while(data.length*bits%8)data.push(chr);return data},decode(input){if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of input)if(typeof i!=="string")throw new Error(`padding.decode: non-string input=${i}`);let end=input.length;if(end*bits%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;end>0&&input[end-1]===chr;end--){if(!((end-1)*bits%8))throw new Error("Invalid padding: string has too much padding")}return input.slice(0,end)}}}function normalize(fn){if(typeof fn!=="function")throw new Error("normalize fn should be function");return{encode:from=>from,decode:to=>fn(to)}}function convertRadix(data,from,to){if(from<2)throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);if(to<2)throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);if(!Array.isArray(data))throw new Error("convertRadix: data should be array");if(!data.length)return[];let pos=0;const res=[];const digits=Array.from(data);digits.forEach(d=>{assertNumber(d);if(d<0||d>=from)throw new Error(`Wrong integer: ${d}`)});while(true){let carry=0;let done=true;for(let i=pos;i!b?a:gcd(b,a%b);const radix2carry=(from,to)=>from+(to-gcd(from,to));function convertRadix2(data,from,to,padding){if(!Array.isArray(data))throw new Error("convertRadix2: data should be array");if(from<=0||from>32)throw new Error(`convertRadix2: wrong from=${from}`);if(to<=0||to>32)throw new Error(`convertRadix2: wrong to=${to}`);if(radix2carry(from,to)>32){throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from,to)}`)}let carry=0;let pos=0;const mask=2**to-1;const res=[];for(const n of data){assertNumber(n);if(n>=2**from)throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);carry=carry<32)throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);pos+=from;for(;pos>=to;pos-=to)res.push((carry>>pos-to&mask)>>>0);carry&=2**pos-1}carry=carry<=from)throw new Error("Excess padding");if(!padding&&carry)throw new Error(`Non-zero padding: ${carry}`);if(padding&&pos>0)res.push(carry>>>0);return res}function radix(num){assertNumber(num);return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return convertRadix(Array.from(bytes),2**8,num)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(convertRadix(digits,num,2**8))}}}function radix2(bits,revPadding=false){assertNumber(bits);if(bits<=0||bits>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,bits)>32||radix2carry(bits,8)>32)throw new Error("radix2: carry overflow");return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(bytes),8,bits,!revPadding)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(convertRadix2(digits,bits,8,revPadding))}}}function unsafeWrapper(fn){if(typeof fn!=="function")throw new Error("unsafeWrapper fn should be function");return function(...args){try{return fn.apply(null,args)}catch(e){}}}function checksum(len,fn){assertNumber(len);if(typeof fn!=="function")throw new Error("checksum fn should be function");return{encode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const checksum=fn(data).slice(0,len);const res=new Uint8Array(data.length+len);res.set(data);res.set(checksum,data.length);return res},decode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const payload=data.slice(0,-len);const newChecksum=fn(payload).slice(0,len);const oldChecksum=data.slice(-len);for(let i=0;is.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));exports.base64=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),padding(6),join(""));exports.base64url=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),padding(6),join(""));const genBase58=abc=>chain(radix(58),alphabet(abc),join(""));exports.base58=genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");exports.base58flickr=genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");exports.base58xrp=genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const XMR_BLOCK_LEN=[0,2,3,5,6,7,9,10,11];exports.base58xmr={encode(data){let res="";for(let i=0;ichain(checksum(4,data=>sha256(sha256(data))),exports.base58);exports.base58check=base58check;const BECH_ALPHABET=chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),join(""));const POLYMOD_GENERATORS=[996825010,642813549,513874426,1027748829,705979059];function bech32Polymod(pre){const b=pre>>25;let chk=(pre&33554431)<<5;for(let i=0;i>i&1)===1)chk^=POLYMOD_GENERATORS[i]}return chk}function bechChecksum(prefix,words,encodingConst=1){const len=prefix.length;let chk=1;for(let i=0;i126)throw new Error(`Invalid prefix (${prefix})`);chk=bech32Polymod(chk)^c>>5}chk=bech32Polymod(chk);for(let i=0;ilimit)throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);prefix=prefix.toLowerCase();return`${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix,words,ENCODING_CONST)}`}function decode(str,limit=90){if(typeof str!=="string")throw new Error(`bech32.decode input should be string, not ${typeof str}`);if(str.length<8||limit!==false&&str.length>limit)throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);const lowered=str.toLowerCase();if(str!==lowered&&str!==str.toUpperCase())throw new Error(`String must be lowercase or uppercase`);str=lowered;const sepIndex=str.lastIndexOf("1");if(sepIndex===0||sepIndex===-1)throw new Error(`Letter "1" must be present between prefix and data only`);const prefix=str.slice(0,sepIndex);const _words=str.slice(sepIndex+1);if(_words.length<6)throw new Error("Data must be at least 6 characters long");const words=BECH_ALPHABET.decode(_words).slice(0,-6);const sum=bechChecksum(prefix,words,ENCODING_CONST);if(!_words.endsWith(sum))throw new Error(`Invalid checksum in ${str}: expected "${sum}"`);return{prefix:prefix,words:words}}const decodeUnsafe=unsafeWrapper(decode);function decodeToBytes(str){const{prefix,words}=decode(str,false);return{prefix:prefix,words:words,bytes:fromWords(words)}}return{encode:encode,decode:decode,decodeToBytes:decodeToBytes,decodeUnsafe:decodeUnsafe,fromWords:fromWords,fromWordsUnsafe:fromWordsUnsafe,toWords:toWords}}exports.bech32=genBech32("bech32");exports.bech32m=genBech32("bech32m");exports.utf8={encode:data=>(new TextDecoder).decode(data),decode:str=>(new TextEncoder).encode(str)};exports.hex=chain(radix2(4),alphabet("0123456789abcdef"),join(""),normalize(s=>{if(typeof s!=="string"||s.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);return s.toLowerCase()}));const CODERS={utf8:exports.utf8,hex:exports.hex,base16:exports.base16,base32:exports.base32,base64:exports.base64,base64url:exports.base64url,base58:exports.base58,base58xmr:exports.base58xmr};const coderTypeError=`Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`;const bytesToString=(type,bytes)=>{if(typeof type!=="string"||!CODERS.hasOwnProperty(type))throw new TypeError(coderTypeError);if(!(bytes instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return CODERS[type].encode(bytes)};exports.bytesToString=bytesToString;exports.str=exports.bytesToString;const stringToBytes=(type,str)=>{if(!CODERS.hasOwnProperty(type))throw new TypeError(coderTypeError);if(typeof str!=="string")throw new TypeError("stringToBytes() expects string");return CODERS[type].decode(str)};exports.stringToBytes=stringToBytes;exports.bytes=exports.stringToBytes})(lib$1);Object.defineProperty(bip39,"__esModule",{value:true});var mnemonicToSeedSync_1=bip39.mnemonicToSeedSync=bip39.mnemonicToSeed=validateMnemonic_1=bip39.validateMnemonic=bip39.entropyToMnemonic=bip39.mnemonicToEntropy=generateMnemonic_1=bip39.generateMnemonic=void 0;const _assert_1=_assert;const pbkdf2_1=pbkdf2$1;const sha256_1=sha256;const sha512_1=sha512$1;const utils_1=utils;const base_1=lib$1;const isJapanese=wordlist=>wordlist[0]==="あいこくしん";function nfkd(str){if(typeof str!=="string")throw new TypeError(`Invalid mnemonic type: ${typeof str}`);return str.normalize("NFKD")}function normalize(str){const norm=nfkd(str);const words=norm.split(" ");if(![12,15,18,21,24].includes(words.length))throw new Error("Invalid mnemonic");return{nfkd:norm,words:words}}function assertEntropy(entropy){_assert_1.default.bytes(entropy,16,20,24,28,32)}function generateMnemonic(wordlist,strength=128){_assert_1.default.number(strength);if(strength%32!==0||strength>256)throw new TypeError("Invalid entropy");return entropyToMnemonic((0,utils_1.randomBytes)(strength/8),wordlist)}var generateMnemonic_1=bip39.generateMnemonic=generateMnemonic;const calcChecksum=entropy=>{const bitsLeft=8-entropy.length/4;return new Uint8Array([(0,sha256_1.sha256)(entropy)[0]>>bitsLeft<{if(typeof i!=="string")throw new Error(`Wordlist: non-string element: ${i}`)});return base_1.utils.chain(base_1.utils.checksum(1,calcChecksum),base_1.utils.radix2(11,true),base_1.utils.alphabet(wordlist))}function mnemonicToEntropy(mnemonic,wordlist){const{words}=normalize(mnemonic);const entropy=getCoder(wordlist).decode(words);assertEntropy(entropy);return entropy}bip39.mnemonicToEntropy=mnemonicToEntropy;function entropyToMnemonic(entropy,wordlist){assertEntropy(entropy);const words=getCoder(wordlist).encode(entropy);return words.join(isJapanese(wordlist)?"γ€€":" ")}bip39.entropyToMnemonic=entropyToMnemonic;function validateMnemonic(mnemonic,wordlist){try{mnemonicToEntropy(mnemonic,wordlist)}catch(e){return false}return true}var validateMnemonic_1=bip39.validateMnemonic=validateMnemonic;const salt=passphrase=>nfkd(`mnemonic${passphrase}`);function mnemonicToSeed(mnemonic,passphrase=""){return(0,pbkdf2_1.pbkdf2Async)(sha512_1.sha512,normalize(mnemonic).nfkd,salt(passphrase),{c:2048,dkLen:64})}bip39.mnemonicToSeed=mnemonicToSeed;function mnemonicToSeedSync(mnemonic,passphrase=""){return(0,pbkdf2_1.pbkdf2)(sha512_1.sha512,normalize(mnemonic).nfkd,salt(passphrase),{c:2048,dkLen:64})}mnemonicToSeedSync_1=bip39.mnemonicToSeedSync=mnemonicToSeedSync;class HMAC extends Hash{constructor(hash,_key){super();this.finished=false;this.destroyed=false;assert$1.hash(hash);const key=toBytes(_key);this.iHash=hash.create();if(typeof this.iHash.update!=="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const blockLen=this.blockLen;const pad=new Uint8Array(blockLen);pad.set(key.length>blockLen?hash.create().update(key).digest():key);for(let i=0;inew HMAC(hash,key).update(message).digest();hmac.create=(hash,key)=>new HMAC(hash,key);const Rho=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]);const Id=Uint8Array.from({length:16},(_,i)=>i);const Pi=Id.map(i=>(9*i+5)%16);let idxL=[Id];let idxR=[Pi];for(let i=0;i<4;i++)for(let j of[idxL,idxR])j.push(j[i].map(k=>Rho[k]));const shifts=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(i=>new Uint8Array(i));const shiftsL=idxL.map((idx,i)=>idx.map(j=>shifts[i][j]));const shiftsR=idxR.map((idx,i)=>idx.map(j=>shifts[i][j]));const Kl=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]);const Kr=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);const rotl=(word,shift)=>word<>>32-shift;function f(group,x,y,z){if(group===0)return x^y^z;else if(group===1)return x&y|~x&z;else if(group===2)return(x|~y)^z;else if(group===3)return x&z|y&~z;else return x^(y|~z)}const BUF=new Uint32Array(16);class RIPEMD160 extends SHA2$1{constructor(){super(64,20,8,true);this.h0=1732584193|0;this.h1=4023233417|0;this.h2=2562383102|0;this.h3=271733878|0;this.h4=3285377520|0}get(){const{h0,h1,h2,h3,h4}=this;return[h0,h1,h2,h3,h4]}set(h0,h1,h2,h3,h4){this.h0=h0|0;this.h1=h1|0;this.h2=h2|0;this.h3=h3|0;this.h4=h4|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)BUF[i]=view.getUint32(offset,true);let al=this.h0|0,ar=al,bl=this.h1|0,br=bl,cl=this.h2|0,cr=cl,dl=this.h3|0,dr=dl,el=this.h4|0,er=el;for(let group=0;group<5;group++){const rGroup=4-group;const hbl=Kl[group],hbr=Kr[group];const rl=idxL[group],rr=idxR[group];const sl=shiftsL[group],sr=shiftsR[group];for(let i=0;i<16;i++){const tl=rotl(al+f(group,bl,cl,dl)+BUF[rl[i]]+hbl,sl[i])+el|0;al=el,el=dl,dl=rotl(cl,10)|0,cl=bl,bl=tl}for(let i=0;i<16;i++){const tr=rotl(ar+f(rGroup,br,cr,dr)+BUF[rr[i]]+hbr,sr[i])+er|0;ar=er,er=dr,dr=rotl(cr,10)|0,cr=br,br=tr}}this.set(this.h1+cl+dr|0,this.h2+dl+er|0,this.h3+el+ar|0,this.h4+al+br|0,this.h0+bl+cr|0)}roundClean(){BUF.fill(0)}destroy(){this.destroyed=true;this.buffer.fill(0);this.set(0,0,0,0,0)}}const ripemd160=wrapConstructor(()=>new RIPEMD160);const U32_MASK64=BigInt(2**32-1);const _32n=BigInt(32);function fromBig(n,le=false){if(le)return{h:Number(n&U32_MASK64),l:Number(n>>_32n&U32_MASK64)};return{h:Number(n>>_32n&U32_MASK64)|0,l:Number(n&U32_MASK64)|0}}function split(lst,le=false){let Ah=new Uint32Array(lst.length);let Al=new Uint32Array(lst.length);for(let i=0;iBigInt(h>>>0)<<_32n|BigInt(l>>>0);const shrSH=(h,l,s)=>h>>>s;const shrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrSH=(h,l,s)=>h>>>s|l<<32-s;const rotrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrBH=(h,l,s)=>h<<64-s|l>>>s-32;const rotrBL=(h,l,s)=>h>>>s-32|l<<64-s;const rotr32H=(h,l)=>l;const rotr32L=(h,l)=>h;const rotlSH=(h,l,s)=>h<>>32-s;const rotlSL=(h,l,s)=>l<>>32-s;const rotlBH=(h,l,s)=>l<>>64-s;const rotlBL=(h,l,s)=>h<>>64-s;function add(Ah,Al,Bh,Bl){const l=(Al>>>0)+(Bl>>>0);return{h:Ah+Bh+(l/2**32|0)|0,l:l|0}}const add3L=(Al,Bl,Cl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0);const add3H=(low,Ah,Bh,Ch)=>Ah+Bh+Ch+(low/2**32|0)|0;const add4L=(Al,Bl,Cl,Dl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0);const add4H=(low,Ah,Bh,Ch,Dh)=>Ah+Bh+Ch+Dh+(low/2**32|0)|0;const add5L=(Al,Bl,Cl,Dl,El)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0)+(El>>>0);const add5H=(low,Ah,Bh,Ch,Dh,Eh)=>Ah+Bh+Ch+Dh+Eh+(low/2**32|0)|0;const u64={fromBig:fromBig,split:split,toBig:toBig,shrSH:shrSH,shrSL:shrSL,rotrSH:rotrSH,rotrSL:rotrSL,rotrBH:rotrBH,rotrBL:rotrBL,rotr32H:rotr32H,rotr32L:rotr32L,rotlSH:rotlSH,rotlSL:rotlSL,rotlBH:rotlBH,rotlBL:rotlBL,add:add,add3L:add3L,add3H:add3H,add4L:add4L,add4H:add4H,add5H:add5H,add5L:add5L};const[SHA512_Kh,SHA512_Kl]=u64.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n)));const SHA512_W_H=new Uint32Array(80);const SHA512_W_L=new Uint32Array(80);class SHA512 extends SHA2$1{constructor(){super(128,64,16,false);this.Ah=1779033703|0;this.Al=4089235720|0;this.Bh=3144134277|0;this.Bl=2227873595|0;this.Ch=1013904242|0;this.Cl=4271175723|0;this.Dh=2773480762|0;this.Dl=1595750129|0;this.Eh=1359893119|0;this.El=2917565137|0;this.Fh=2600822924|0;this.Fl=725511199|0;this.Gh=528734635|0;this.Gl=4215389547|0;this.Hh=1541459225|0;this.Hl=327033209|0}get(){const{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;return[Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl]}set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl){this.Ah=Ah|0;this.Al=Al|0;this.Bh=Bh|0;this.Bl=Bl|0;this.Ch=Ch|0;this.Cl=Cl|0;this.Dh=Dh|0;this.Dl=Dl|0;this.Eh=Eh|0;this.El=El|0;this.Fh=Fh|0;this.Fl=Fl|0;this.Gh=Gh|0;this.Gl=Gl|0;this.Hh=Hh|0;this.Hl=Hl|0}process(view,offset){for(let i=0;i<16;i++,offset+=4){SHA512_W_H[i]=view.getUint32(offset);SHA512_W_L[i]=view.getUint32(offset+=4)}for(let i=16;i<80;i++){const W15h=SHA512_W_H[i-15]|0;const W15l=SHA512_W_L[i-15]|0;const s0h=u64.rotrSH(W15h,W15l,1)^u64.rotrSH(W15h,W15l,8)^u64.shrSH(W15h,W15l,7);const s0l=u64.rotrSL(W15h,W15l,1)^u64.rotrSL(W15h,W15l,8)^u64.shrSL(W15h,W15l,7);const W2h=SHA512_W_H[i-2]|0;const W2l=SHA512_W_L[i-2]|0;const s1h=u64.rotrSH(W2h,W2l,19)^u64.rotrBH(W2h,W2l,61)^u64.shrSH(W2h,W2l,6);const s1l=u64.rotrSL(W2h,W2l,19)^u64.rotrBL(W2h,W2l,61)^u64.shrSL(W2h,W2l,6);const SUMl=u64.add4L(s0l,s1l,SHA512_W_L[i-7],SHA512_W_L[i-16]);const SUMh=u64.add4H(SUMl,s0h,s1h,SHA512_W_H[i-7],SHA512_W_H[i-16]);SHA512_W_H[i]=SUMh|0;SHA512_W_L[i]=SUMl|0}let{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;for(let i=0;i<80;i++){const sigma1h=u64.rotrSH(Eh,El,14)^u64.rotrSH(Eh,El,18)^u64.rotrBH(Eh,El,41);const sigma1l=u64.rotrSL(Eh,El,14)^u64.rotrSL(Eh,El,18)^u64.rotrBL(Eh,El,41);const CHIh=Eh&Fh^~Eh&Gh;const CHIl=El&Fl^~El&Gl;const T1ll=u64.add5L(Hl,sigma1l,CHIl,SHA512_Kl[i],SHA512_W_L[i]);const T1h=u64.add5H(T1ll,Hh,sigma1h,CHIh,SHA512_Kh[i],SHA512_W_H[i]);const T1l=T1ll|0;const sigma0h=u64.rotrSH(Ah,Al,28)^u64.rotrBH(Ah,Al,34)^u64.rotrBH(Ah,Al,39);const sigma0l=u64.rotrSL(Ah,Al,28)^u64.rotrBL(Ah,Al,34)^u64.rotrBL(Ah,Al,39);const MAJh=Ah&Bh^Ah&Ch^Bh&Ch;const MAJl=Al&Bl^Al&Cl^Bl&Cl;Hh=Gh|0;Hl=Gl|0;Gh=Fh|0;Gl=Fl|0;Fh=Eh|0;Fl=El|0;({h:Eh,l:El}=u64.add(Dh|0,Dl|0,T1h|0,T1l|0));Dh=Ch|0;Dl=Cl|0;Ch=Bh|0;Cl=Bl|0;Bh=Ah|0;Bl=Al|0;const All=u64.add3L(T1l,sigma0l,MAJl);Ah=u64.add3H(All,T1h,sigma0h,MAJh);Al=All|0}({h:Ah,l:Al}=u64.add(this.Ah|0,this.Al|0,Ah|0,Al|0));({h:Bh,l:Bl}=u64.add(this.Bh|0,this.Bl|0,Bh|0,Bl|0));({h:Ch,l:Cl}=u64.add(this.Ch|0,this.Cl|0,Ch|0,Cl|0));({h:Dh,l:Dl}=u64.add(this.Dh|0,this.Dl|0,Dh|0,Dl|0));({h:Eh,l:El}=u64.add(this.Eh|0,this.El|0,Eh|0,El|0));({h:Fh,l:Fl}=u64.add(this.Fh|0,this.Fl|0,Fh|0,Fl|0));({h:Gh,l:Gl}=u64.add(this.Gh|0,this.Gl|0,Gh|0,Gl|0));({h:Hh,l:Hl}=u64.add(this.Hh|0,this.Hl|0,Hh|0,Hl|0));this.set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl)}roundClean(){SHA512_W_H.fill(0);SHA512_W_L.fill(0)}destroy(){this.buffer.fill(0);this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class SHA512_224 extends SHA512{constructor(){super();this.Ah=2352822216|0;this.Al=424955298|0;this.Bh=1944164710|0;this.Bl=2312950998|0;this.Ch=502970286|0;this.Cl=855612546|0;this.Dh=1738396948|0;this.Dl=1479516111|0;this.Eh=258812777|0;this.El=2077511080|0;this.Fh=2011393907|0;this.Fl=79989058|0;this.Gh=1067287976|0;this.Gl=1780299464|0;this.Hh=286451373|0;this.Hl=2446758561|0;this.outputLen=28}}class SHA512_256 extends SHA512{constructor(){super();this.Ah=573645204|0;this.Al=4230739756|0;this.Bh=2673172387|0;this.Bl=3360449730|0;this.Ch=596883563|0;this.Cl=1867755857|0;this.Dh=2520282905|0;this.Dl=1497426621|0;this.Eh=2519219938|0;this.El=2827943907|0;this.Fh=3193839141|0;this.Fl=1401305490|0;this.Gh=721525244|0;this.Gl=746961066|0;this.Hh=246885852|0;this.Hl=2177182882|0;this.outputLen=32}}class SHA384 extends SHA512{constructor(){super();this.Ah=3418070365|0;this.Al=3238371032|0;this.Bh=1654270250|0;this.Bl=914150663|0;this.Ch=2438529370|0;this.Cl=812702999|0;this.Dh=355462360|0;this.Dl=4144912697|0;this.Eh=1731405415|0;this.El=4290775857|0;this.Fh=2394180231|0;this.Fl=1750603025|0;this.Gh=3675008525|0;this.Gl=1694076839|0;this.Hh=1203062813|0;this.Hl=3204075428|0;this.outputLen=48}}const sha512=wrapConstructor(()=>new SHA512);wrapConstructor(()=>new SHA512_224);wrapConstructor(()=>new SHA512_256);wrapConstructor(()=>new SHA384);utils$1.hmacSha256Sync=(key,...msgs)=>hmac(sha256$1,key,utils$1.concatBytes(...msgs));const base58check=base58check$1(sha256$1);function bytesToNumber(bytes){return BigInt(`0x${bytesToHex(bytes)}`)}function numberToBytes(num){return hexToBytes(num.toString(16).padStart(64,"0"))}const MASTER_SECRET=utf8ToBytes("Bitcoin seed");const BITCOIN_VERSIONS={private:76066276,public:76067358};const HARDENED_OFFSET=2147483648;const hash160=data=>ripemd160(sha256$1(data));const fromU32=data=>createView(data).getUint32(0,false);const toU32=n=>{if(!Number.isSafeInteger(n)||n<0||n>2**32-1){throw new Error(`Invalid number=${n}. Should be from 0 to 2 ** 32 - 1`)}const buf=new Uint8Array(4);createView(buf).setUint32(0,n,false);return buf};class HDKey{constructor(opt){this.depth=0;this.index=0;this.chainCode=null;this.parentFingerprint=0;if(!opt||typeof opt!=="object"){throw new Error("HDKey.constructor must not be called directly")}this.versions=opt.versions||BITCOIN_VERSIONS;this.depth=opt.depth||0;this.chainCode=opt.chainCode;this.index=opt.index||0;this.parentFingerprint=opt.parentFingerprint||0;if(!this.depth){if(this.parentFingerprint||this.index){throw new Error("HDKey: zero depth with non-zero index/parent fingerprint")}}if(opt.publicKey&&opt.privateKey){throw new Error("HDKey: publicKey and privateKey at same time.")}if(opt.privateKey){if(!utils$1.isValidPrivateKey(opt.privateKey)){throw new Error("Invalid private key")}this.privKey=typeof opt.privateKey==="bigint"?opt.privateKey:bytesToNumber(opt.privateKey);this.privKeyBytes=numberToBytes(this.privKey);this.pubKey=getPublicKey$1(opt.privateKey,true)}else if(opt.publicKey){this.pubKey=Point.fromHex(opt.publicKey).toRawBytes(true)}else{throw new Error("HDKey: no public or private key provided")}this.pubHash=hash160(this.pubKey)}get fingerprint(){if(!this.pubHash){throw new Error("No publicKey set!")}return fromU32(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){const priv=this.privateKey;if(!priv){throw new Error("No private key")}return base58check.encode(this.serialize(this.versions.private,concatBytes(new Uint8Array([0]),priv)))}get publicExtendedKey(){if(!this.pubKey){throw new Error("No public key")}return base58check.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(seed,versions=BITCOIN_VERSIONS){bytes$1(seed);if(8*seed.length<128||8*seed.length>512){throw new Error(`HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)`)}const I=hmac(sha512,MASTER_SECRET,seed);return new HDKey({versions:versions,chainCode:I.slice(32),privateKey:I.slice(0,32)})}static fromExtendedKey(base58key,versions=BITCOIN_VERSIONS){const keyBuffer=base58check.decode(base58key);const keyView=createView(keyBuffer);const version=keyView.getUint32(0,false);const opt={versions:versions,depth:keyBuffer[4],parentFingerprint:keyView.getUint32(5,false),index:keyView.getUint32(9,false),chainCode:keyBuffer.slice(13,45)};const key=keyBuffer.slice(45);const isPriv=key[0]===0;if(version!==versions[isPriv?"private":"public"]){throw new Error("Version mismatch")}if(isPriv){return new HDKey({...opt,privateKey:key.slice(1)})}else{return new HDKey({...opt,publicKey:key})}}static fromJSON(json){return HDKey.fromExtendedKey(json.xpriv)}derive(path){if(!/^[mM]'?/.test(path)){throw new Error('Path must start with "m" or "M"')}if(/^[mM]'?$/.test(path)){return this}const parts=path.replace(/^[mM]'?\//,"").split("/");let child=this;for(const c of parts){const m=/^(\d+)('?)$/.exec(c);if(!m||m.length!==3){throw new Error(`Invalid child index: ${c}`)}let idx=+m[1];if(!Number.isSafeInteger(idx)||idx>=HARDENED_OFFSET){throw new Error("Invalid index")}if(m[2]==="'"){idx+=HARDENED_OFFSET}child=child.deriveChild(idx)}return child}deriveChild(index){if(!this.pubKey||!this.chainCode){throw new Error("No publicKey or chainCode set")}let data=toU32(index);if(index>=HARDENED_OFFSET){const priv=this.privateKey;if(!priv){throw new Error("Could not derive hardened child key")}data=concatBytes(new Uint8Array([0]),priv,data)}else{data=concatBytes(this.pubKey,data)}const I=hmac(sha512,this.chainCode,data);const childTweak=bytesToNumber(I.slice(0,32));const chainCode=I.slice(32);if(!utils$1.isValidPrivateKey(childTweak)){throw new Error("Tweak bigger than curve order")}const opt={versions:this.versions,chainCode:chainCode,depth:this.depth+1,parentFingerprint:this.fingerprint,index:index};try{if(this.privateKey){const added=utils$1.mod(this.privKey+childTweak,CURVE.n);if(!utils$1.isValidPrivateKey(added)){throw new Error("The tweak was out of range or the resulted private key is invalid")}opt.privateKey=added}else{const added=Point.fromHex(this.pubKey).add(Point.fromPrivateKey(childTweak));if(added.equals(Point.ZERO)){throw new Error("The tweak was equal to negative P, which made the result key invalid")}opt.publicKey=added.toRawBytes(true)}return new HDKey(opt)}catch(err){return this.deriveChild(index+1)}}sign(hash){if(!this.privateKey){throw new Error("No privateKey set!")}bytes$1(hash,32);return signSync(hash,this.privKey,{canonical:true,der:false})}verify(hash,signature){bytes$1(hash,32);bytes$1(signature,64);if(!this.publicKey){throw new Error("No publicKey set!")}let sig;try{sig=Signature.fromCompact(signature)}catch(error){return false}return verify(sig,hash,this.publicKey)}wipePrivateData(){this.privKey=undefined;if(this.privKeyBytes){this.privKeyBytes.fill(0);this.privKeyBytes=undefined}return this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(version,key){if(!this.chainCode){throw new Error("No chainCode set")}bytes$1(key,33);return concatBytes(toU32(version),new Uint8Array([this.depth]),toU32(this.parentFingerprint),toU32(this.index),this.chainCode,key)}}var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};function generatePrivateKey(){return utils$1.bytesToHex(utils$1.randomPrivateKey())}function getPublicKey(privateKey){return utils$1.bytesToHex(schnorr.getPublicKey(privateKey))}var utils_exports={};__export(utils_exports,{insertEventIntoAscendingList:()=>insertEventIntoAscendingList,insertEventIntoDescendingList:()=>insertEventIntoDescendingList,normalizeURL:()=>normalizeURL,utf8Decoder:()=>utf8Decoder,utf8Encoder:()=>utf8Encoder});var utf8Decoder=new TextDecoder("utf-8");var utf8Encoder=new TextEncoder;function normalizeURL(url){let p=new URL(url);p.pathname=p.pathname.replace(/\/+/g,"/");if(p.pathname.endsWith("/"))p.pathname=p.pathname.slice(0,-1);if(p.port==="80"&&p.protocol==="ws:"||p.port==="443"&&p.protocol==="wss:")p.port="";p.searchParams.sort();p.hash="";return p.toString()}function insertEventIntoDescendingList(sortedArray,event){let start=0;let end=sortedArray.length-1;let midPoint;let position=start;if(end<0){position=0}else if(event.created_at=sortedArray[start].created_at){position=start}else while(true){if(end<=start+1){position=end;break}midPoint=Math.floor(start+(end-start)/2);if(sortedArray[midPoint].created_at>event.created_at){start=midPoint}else if(sortedArray[midPoint].created_atsortedArray[end].created_at){position=end+1}else if(event.created_at<=sortedArray[start].created_at){position=start}else while(true){if(end<=start+1){position=end;break}midPoint=Math.floor(start+(end-start)/2);if(sortedArray[midPoint].created_atevent.created_at){end=midPoint}else{position=midPoint;break}}if(sortedArray[position]?.id!==event.id){return[...sortedArray.slice(0,position),event,...sortedArray.slice(position)]}return sortedArray}function serializeEvent(evt){if(!validateEvent(evt))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,evt.pubkey,evt.created_at,evt.kind,evt.tags,evt.content])}function getEventHash(event){let eventHash=sha256$1(utf8Encoder.encode(serializeEvent(event)));return utils$1.bytesToHex(eventHash)}function validateEvent(event){if(typeof event!=="object")return false;if(typeof event.kind!=="number")return false;if(typeof event.content!=="string")return false;if(typeof event.created_at!=="number")return false;if(typeof event.pubkey!=="string")return false;if(!event.pubkey.match(/^[a-f0-9]{64}$/))return false;if(!Array.isArray(event.tags))return false;for(let i=0;ievent.id.startsWith(prefix))){return false}}if(filter.kinds&&filter.kinds.indexOf(event.kind)===-1)return false;if(filter.authors&&filter.authors.indexOf(event.pubkey)===-1){if(!filter.authors.some(prefix=>event.pubkey.startsWith(prefix))){return false}}for(let f in filter){if(f[0]==="#"){let tagName=f.slice(1);let values=filter[`#${tagName}`];if(values&&!event.tags.find(([t,v])=>t===f.slice(1)&&values.indexOf(v)!==-1))return false}}if(filter.since&&event.created_at=filter.until)return false;return true}function matchFilters(filters,event){for(let i=0;igetHex64,getInt:()=>getInt,getSubscriptionId:()=>getSubscriptionId,matchEventId:()=>matchEventId,matchEventKind:()=>matchEventKind,matchEventPubkey:()=>matchEventPubkey});function getHex64(json,field){let len=field.length+3;let idx=json.indexOf(`"${field}":`)+len;let s=json.slice(idx).indexOf(`"`)+idx+1;return json.slice(s,s+64)}function getInt(json,field){let len=field.length;let idx=json.indexOf(`"${field}":`)+len+3;let sliced=json.slice(idx);let end=Math.min(sliced.indexOf(","),sliced.indexOf("}"));return parseInt(sliced.slice(0,end),10)}function getSubscriptionId(json){let idx=json.slice(0,22).indexOf(`"EVENT"`);if(idx===-1)return null;let pstart=json.slice(idx+7+1).indexOf(`"`);if(pstart===-1)return null;let start=idx+7+1+pstart;let pend=json.slice(start+1,80).indexOf(`"`);if(pend===-1)return null;let end=start+1+pend;return json.slice(start+1,end)}function matchEventId(json,id){return id===getHex64(json,"id")}function matchEventPubkey(json,pubkey){return pubkey===getHex64(json,"pubkey")}function matchEventKind(json,kind){return kind===getInt(json,"kind")}function relayInit(url,options={}){let{listTimeout=3e3,getTimeout=3e3}=options;var ws;var openSubs={};var listeners={connect:[],disconnect:[],error:[],notice:[]};var subListeners={};var pubListeners={};var connectionPromise;async function connectRelay(){if(connectionPromise)return connectionPromise;connectionPromise=new Promise((resolve,reject)=>{try{ws=new WebSocket(url)}catch(err){reject(err)}ws.onopen=()=>{listeners.connect.forEach(cb=>cb());resolve()};ws.onerror=()=>{connectionPromise=void 0;listeners.error.forEach(cb=>cb());reject()};ws.onclose=async()=>{connectionPromise=void 0;listeners.disconnect.forEach(cb=>cb())};let incomingMessageQueue=[];let handleNextInterval;ws.onmessage=e=>{incomingMessageQueue.push(e.data);if(!handleNextInterval){handleNextInterval=setInterval(handleNext,0)}};function handleNext(){if(incomingMessageQueue.length===0){clearInterval(handleNextInterval);handleNextInterval=null;return}var json=incomingMessageQueue.shift();if(!json)return;let subid=getSubscriptionId(json);if(subid){let so=openSubs[subid];if(so&&so.alreadyHaveEvent&&so.alreadyHaveEvent(getHex64(json,"id"),url)){return}}try{let data=JSON.parse(json);switch(data[0]){case"EVENT":let id=data[1];let event=data[2];if(validateEvent(event)&&openSubs[id]&&(openSubs[id].skipVerification||verifySignature(event))&&matchFilters(openSubs[id].filters,event)){openSubs[id];(subListeners[id]?.event||[]).forEach(cb=>cb(event))}return;case"EOSE":{let id2=data[1];if(id2 in subListeners){subListeners[id2].eose.forEach(cb=>cb());subListeners[id2].eose=[]}return}case"OK":{let id2=data[1];let ok=data[2];let reason=data[3]||"";if(id2 in pubListeners){if(ok)pubListeners[id2].ok.forEach(cb=>cb());else pubListeners[id2].failed.forEach(cb=>cb(reason));pubListeners[id2].ok=[];pubListeners[id2].failed=[]}return}case"NOTICE":let notice=data[1];listeners.notice.forEach(cb=>cb(notice));return}}catch(err){return}}});return connectionPromise}function connected(){return ws?.readyState===1}async function connect(){if(connected())return;await connectRelay()}async function trySend(params){let msg=JSON.stringify(params);if(!connected()){await new Promise(resolve=>setTimeout(resolve,1e3));if(!connected()){return}}try{ws.send(msg)}catch(err){console.log(err)}}const sub=(filters,{skipVerification=false,alreadyHaveEvent=null,id=Math.random().toString().slice(2)}={})=>{let subid=id;openSubs[subid]={id:subid,filters:filters,skipVerification:skipVerification,alreadyHaveEvent:alreadyHaveEvent};trySend(["REQ",subid,...filters]);return{sub:(newFilters,newOpts={})=>sub(newFilters||filters,{skipVerification:newOpts.skipVerification||skipVerification,alreadyHaveEvent:newOpts.alreadyHaveEvent||alreadyHaveEvent,id:subid}),unsub:()=>{delete openSubs[subid];delete subListeners[subid];trySend(["CLOSE",subid])},on:(type,cb)=>{subListeners[subid]=subListeners[subid]||{event:[],eose:[]};subListeners[subid][type].push(cb)},off:(type,cb)=>{let listeners2=subListeners[subid];let idx=listeners2[type].indexOf(cb);if(idx>=0)listeners2[type].splice(idx,1)}}};return{url:url,sub:sub,on:(type,cb)=>{listeners[type].push(cb);if(type==="connect"&&ws?.readyState===1){cb()}},off:(type,cb)=>{let index=listeners[type].indexOf(cb);if(index!==-1)listeners[type].splice(index,1)},list:(filters,opts)=>new Promise(resolve=>{let s=sub(filters,opts);let events=[];let timeout=setTimeout(()=>{s.unsub();resolve(events)},listTimeout);s.on("eose",()=>{s.unsub();clearTimeout(timeout);resolve(events)});s.on("event",event=>{events.push(event)})}),get:(filter,opts)=>new Promise(resolve=>{let s=sub([filter],opts);let timeout=setTimeout(()=>{s.unsub();resolve(null)},getTimeout);s.on("event",event=>{s.unsub();clearTimeout(timeout);resolve(event)})}),publish(event){if(!event.id)throw new Error(`event ${event} has no id`);let id=event.id;trySend(["EVENT",event]);return{on:(type,cb)=>{pubListeners[id]=pubListeners[id]||{ok:[],failed:[]};pubListeners[id][type].push(cb)},off:(type,cb)=>{let listeners2=pubListeners[id];if(!listeners2)return;let idx=listeners2[type].indexOf(cb);if(idx>=0)listeners2[type].splice(idx,1)}}},connect:connect,close(){listeners={connect:[],disconnect:[],error:[],notice:[]};subListeners={};pubListeners={};if(ws.readyState===WebSocket.OPEN){ws?.close()}},get status(){return ws?.readyState??3}}}var nip19_exports={};__export(nip19_exports,{decode:()=>decode$1,naddrEncode:()=>naddrEncode,neventEncode:()=>neventEncode,noteEncode:()=>noteEncode,nprofileEncode:()=>nprofileEncode,npubEncode:()=>npubEncode,nsecEncode:()=>nsecEncode});var Bech32MaxSize=5e3;function decode$1(nip19){let{prefix,words}=bech32$1.decode(nip19,Bech32MaxSize);let data=new Uint8Array(bech32$1.fromWords(words));switch(prefix){case"nprofile":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(tlv[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:utils$1.bytesToHex(tlv[0][0]),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[]}}}case"nevent":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for nevent");if(tlv[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(tlv[2]&&tlv[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");return{type:"nevent",data:{id:utils$1.bytesToHex(tlv[0][0]),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[],author:tlv[2]?.[0]?utils$1.bytesToHex(tlv[2][0]):void 0}}}case"naddr":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!tlv[2]?.[0])throw new Error("missing TLV 2 for naddr");if(tlv[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!tlv[3]?.[0])throw new Error("missing TLV 3 for naddr");if(tlv[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:utf8Decoder.decode(tlv[0][0]),pubkey:utils$1.bytesToHex(tlv[2][0]),kind:parseInt(utils$1.bytesToHex(tlv[3][0]),16),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[]}}}case"nsec":case"npub":case"note":return{type:prefix,data:utils$1.bytesToHex(data)};default:throw new Error(`unknown prefix ${prefix}`)}}function parseTLV(data){let result={};let rest=data;while(rest.length>0){let t=rest[0];let l=rest[1];let v=rest.slice(2,2+l);rest=rest.slice(2+l);if(v.lengthutf8Encoder.encode(url))});let words=bech32$1.toWords(data);return bech32$1.encode("nprofile",words,Bech32MaxSize)}function neventEncode(event){let data=encodeTLV({0:[utils$1.hexToBytes(event.id)],1:(event.relays||[]).map(url=>utf8Encoder.encode(url)),2:event.author?[utils$1.hexToBytes(event.author)]:[]});let words=bech32$1.toWords(data);return bech32$1.encode("nevent",words,Bech32MaxSize)}function naddrEncode(addr){let kind=new ArrayBuffer(4);new DataView(kind).setUint32(0,addr.kind,false);let data=encodeTLV({0:[utf8Encoder.encode(addr.identifier)],1:(addr.relays||[]).map(url=>utf8Encoder.encode(url)),2:[utils$1.hexToBytes(addr.pubkey)],3:[new Uint8Array(kind)]});let words=bech32$1.toWords(data);return bech32$1.encode("naddr",words,Bech32MaxSize)}function encodeTLV(tlv){let entries=[];Object.entries(tlv).forEach(([t,vs])=>{vs.forEach(v=>{let entry=new Uint8Array(v.length+2);entry.set([parseInt(t)],0);entry.set([v.length],1);entry.set(v,2);entries.push(entry)})});return utils$1.concatBytes(...entries)}var nip04_exports={};__export(nip04_exports,{decrypt:()=>decrypt,encrypt:()=>encrypt});async function encrypt(privkey,pubkey,text){const key=getSharedSecret(privkey,"02"+pubkey);const normalizedKey=getNormalizedX(key);let iv=Uint8Array.from(randomBytes(16));let plaintext=utf8Encoder.encode(text);let cryptoKey=await crypto.subtle.importKey("raw",normalizedKey,{name:"AES-CBC"},false,["encrypt"]);let ciphertext=await crypto.subtle.encrypt({name:"AES-CBC",iv:iv},cryptoKey,plaintext);let ctb64=base64.encode(new Uint8Array(ciphertext));let ivb64=base64.encode(new Uint8Array(iv.buffer));return`${ctb64}?iv=${ivb64}`}async function decrypt(privkey,pubkey,data){let[ctb64,ivb64]=data.split("?iv=");let key=getSharedSecret(privkey,"02"+pubkey);let normalizedKey=getNormalizedX(key);let cryptoKey=await crypto.subtle.importKey("raw",normalizedKey,{name:"AES-CBC"},false,["decrypt"]);let ciphertext=base64.decode(ctb64);let iv=base64.decode(ivb64);let plaintext=await crypto.subtle.decrypt({name:"AES-CBC",iv:iv},cryptoKey,ciphertext);let text=utf8Decoder.decode(plaintext);return text}function getNormalizedX(key){return key.slice(1,33)}var nip05_exports={};__export(nip05_exports,{queryProfile:()=>queryProfile,searchDomain:()=>searchDomain,useFetchImplementation:()=>useFetchImplementation});var _fetch;try{_fetch=fetch}catch{}function useFetchImplementation(fetchImplementation){_fetch=fetchImplementation}async function searchDomain(domain,query=""){try{let res=await(await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`)).json();return res.names}catch(_){return{}}}async function queryProfile(fullname){let[name,domain]=fullname.split("@");if(!domain){domain=name;name="_"}if(!name.match(/^[A-Za-z0-9-_]+$/))return null;if(!domain.includes("."))return null;let res;try{res=await(await _fetch(`https://${domain}/.well-known/nostr.json?name=${name}`)).json()}catch(err){return null}if(!res?.names?.[name])return null;let pubkey=res.names[name];let relays=res.relays?.[pubkey]||[];return{pubkey:pubkey,relays:relays}}var nip06_exports={};__export(nip06_exports,{generateSeedWords:()=>generateSeedWords,privateKeyFromSeedWords:()=>privateKeyFromSeedWords,validateWords:()=>validateWords});function privateKeyFromSeedWords(mnemonic,passphrase){let root=HDKey.fromMasterSeed(mnemonicToSeedSync_1(mnemonic,passphrase));let privateKey=root.derive(`m/44'/1237'/0'/0/0`).privateKey;if(!privateKey)throw new Error("could not derive private key");return utils$1.bytesToHex(privateKey)}function generateSeedWords(){return generateMnemonic_1(wordlist)}function validateWords(words){return validateMnemonic_1(words,wordlist)}var nip10_exports={};__export(nip10_exports,{parse:()=>parse});function parse(event){const result={reply:void 0,root:void 0,mentions:[],profiles:[]};const eTags=[];for(const tag of event.tags){if(tag[0]==="e"&&tag[1]){eTags.push(tag)}if(tag[0]==="p"&&tag[1]){result.profiles.push({pubkey:tag[1],relays:tag[2]?[tag[2]]:[]})}}for(let eTagIndex=0;eTagIndexcreateDelegation,getDelegator:()=>getDelegator});function createDelegation(privateKey,parameters){let conditions=[];if((parameters.kind||-1)>=0)conditions.push(`kind=${parameters.kind}`);if(parameters.until)conditions.push(`created_at<${parameters.until}`);if(parameters.since)conditions.push(`created_at>${parameters.since}`);let cond=conditions.join("&");if(cond==="")throw new Error("refusing to create a delegation without any conditions");let sighash=sha256$1(utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`));let sig=utils$1.bytesToHex(schnorr.signSync(sighash,privateKey));return{from:getPublicKey(privateKey),to:parameters.pubkey,cond:cond,sig:sig}}function getDelegator(event){let tag=event.tags.find(tag2=>tag2[0]==="delegation"&&tag2.length>=4);if(!tag)return null;let pubkey=tag[1];let cond=tag[2];let sig=tag[3];let conditions=cond.split("&");for(let i=0;i"&&event.created_at>parseInt(value))continue;else return null}let sighash=sha256$1(utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`));if(!schnorr.verifySync(sig,sighash,pubkey))return null;return pubkey}var nip39_exports={};__export(nip39_exports,{useFetchImplementation:()=>useFetchImplementation2,validateGithub:()=>validateGithub});var _fetch2;try{_fetch2=fetch}catch{}function useFetchImplementation2(fetchImplementation){_fetch2=fetchImplementation}async function validateGithub(pubkey,username,proof){try{let res=await(await _fetch2(`https://gist.github.com/${username}/${proof}/raw`)).text();return res===`Verifying that I control the following Nostr public key: ${pubkey}`}catch(_){return false}}var nip57_exports={};__export(nip57_exports,{getZapEndpoint:()=>getZapEndpoint,makeZapReceipt:()=>makeZapReceipt,makeZapRequest:()=>makeZapRequest,useFetchImplementation:()=>useFetchImplementation3,validateZapRequest:()=>validateZapRequest});var _fetch3;try{_fetch3=fetch}catch{}function useFetchImplementation3(fetchImplementation){_fetch3=fetchImplementation}async function getZapEndpoint(metadata){try{let lnurl="";let{lud06,lud16}=JSON.parse(metadata.content);if(lud06){let{words}=bech32$1.decode(lud06,1e3);let data=bech32$1.fromWords(words);lnurl=utf8Decoder.decode(data)}else if(lud16){let[name,domain]=lud16.split("@");lnurl=`https://${domain}/.well-known/lnurlp/${name}`}else{return null}let res=await _fetch3(lnurl);let body=await res.json();if(body.allowsNostr&&body.nostrPubkey){return body.callback}}catch(err){}return null}function makeZapRequest({profile,event,amount,relays,comment=""}){if(!amount)throw new Error("amount not given");if(!profile)throw new Error("profile not given");let zr={kind:9734,created_at:Math.round(Date.now()/1e3),content:comment,tags:[["p",profile],["amount",amount.toString()],["relays",...relays]]};if(event){zr.tags.push(["e",event])}return zr}function validateZapRequest(zapRequestString){let zapRequest;try{zapRequest=JSON.parse(zapRequestString)}catch(err){return"Invalid zap request JSON."}if(!validateEvent(zapRequest))return"Zap request is not a valid Nostr event.";if(!verifySignature(zapRequest))return"Invalid signature on zap request.";let p=zapRequest.tags.find(([t,v])=>t==="p"&&v);if(!p)return"Zap request doesn't have a 'p' tag.";if(!p[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let e=zapRequest.tags.find(([t,v])=>t==="e"&&v);if(e&&!e[1].match(/^[a-f0-9]{64}$/))return"Zap request 'e' tag is not valid hex.";let relays=zapRequest.tags.find(([t,v])=>t==="relays"&&v);if(!relays)return"Zap request doesn't have a 'relays' tag.";return null}function makeZapReceipt({zapRequest,preimage,bolt11,paidAt}){let zr=JSON.parse(zapRequest);let tagsFromZapRequest=zr.tags.filter(([t])=>t==="e"||t==="p"||t==="a");let zap={kind:9735,created_at:Math.round(paidAt.getTime()/1e3),content:"",tags:[...tagsFromZapRequest,["bolt11",bolt11],["description",zapRequest]]};if(preimage){zap.tags.push(["preimage",preimage])}return zap}utils$1.hmacSha256Sync=(key,...msgs)=>hmac(sha256$1,key,utils$1.concatBytes(...msgs));utils$1.sha256Sync=(...msgs)=>sha256$1(utils$1.concatBytes(...msgs));const WS=WebSocket;Relay$1.prototype.wait_connected=async function relay_wait_connected(data){let retry=1e3;while(true){if(this.ws.readyState!==1){await sleep(retry);retry*=1.5}else{return}}};function Relay$1(relay,opts={}){if(!(this instanceof Relay$1))return new Relay$1(relay,opts);this.url=relay;this.opts=opts;if(opts.reconnect==null)opts.reconnect=true;const me=this;me.onfn={};init_websocket(me).catch(e=>{if(me.onfn.error)me.onfn.error(e)});return this}function init_websocket(me){return new Promise((resolve,reject)=>{const ws=me.ws=new WS(me.url);let resolved=false;ws.onmessage=m=>{handle_nostr_message(me,m);if(me.onfn.message)me.onfn.message(m)};ws.onclose=e=>{if(me.onfn.close)me.onfn.close(e);if(me.reconnecting)return reject(new Error("close during reconnect"));if(!me.manualClose&&me.opts.reconnect)reconnect(me)};ws.onerror=e=>{if(me.onfn.error)me.onfn.error(e);if(me.reconnecting)return reject(new Error("error during reconnect"));if(me.opts.reconnect)reconnect(me)};ws.onopen=e=>{if(me.onfn.open)me.onfn.open(e);if(resolved)return;resolved=true;resolve(me)}})}function sleep(ms){return new Promise(resolve=>setTimeout(resolve,ms))}async function reconnect(me){let n=100;try{me.reconnecting=true;await init_websocket(me);me.reconnecting=false}catch{await sleep(n);n*=1.5}}Relay$1.prototype.on=function relayOn(method,fn){this.onfn[method]=fn;return this};Relay$1.prototype.close=function relayClose(){if(this.ws){this.manualClose=true;this.ws.close()}};Relay$1.prototype.subscribe=function relay_subscribe(sub_id,filters){if(Array.isArray(filters))this.send(["REQ",sub_id,...filters]);else this.send(["REQ",sub_id,filters])};Relay$1.prototype.unsubscribe=function relay_unsubscribe(sub_id){this.send(["CLOSE",sub_id])};Relay$1.prototype.send=async function relay_send(data){await this.wait_connected();this.ws.send(JSON.stringify(data))};function handle_nostr_message(relay,msg){let data;try{data=JSON.parse(msg.data)}catch(e){console.error("handle_nostr_message",e);return}if(data.length>=2){switch(data[0]){case"EVENT":if(data.length<3)return;return relay.onfn.event&&relay.onfn.event(data[1],data[2]);case"EOSE":return relay.onfn.eose&&relay.onfn.eose(data[1]);case"NOTICE":return relay.onfn.notice&&relay.onfn.notice(...data.slice(1));case"OK":return relay.onfn.ok&&relay.onfn.ok(...data.slice(1))}}}var relay=Relay$1;const Relay=relay;function RelayPool(relays,opts){if(!(this instanceof RelayPool))return new RelayPool(relays,opts);this.onfn={};this.relays=[];this.opts=opts;for(const relay of relays){this.add(relay)}return this}RelayPool.prototype.close=function relayPoolClose(){for(const relay of this.relays){relay.close()}};RelayPool.prototype.on=function relayPoolOn(method,fn){for(const relay of this.relays){this.onfn[method]=fn;relay.onfn[method]=fn.bind(null,relay)}return this};RelayPool.prototype.has=function relayPoolHas(relayUrl){for(const relay of this.relays){if(relay.url===relayUrl)return true}return false};RelayPool.prototype.send=function relayPoolSend(payload,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.send(payload)}};RelayPool.prototype.setupHandlers=function relayPoolSetupHandlers(){const keys=Object.keys(this.onfn);for(const handler of keys){for(const relay of this.relays){relay.onfn[handler]=this.onfn[handler].bind(null,relay)}}};RelayPool.prototype.remove=function relayPoolRemove(url){let i=0;for(const relay of this.relays){if(relay.url===url){relay.ws&&relay.ws.close();this.relays=this.replays.splice(i,1);return true}i+=1}return false};RelayPool.prototype.subscribe=function relayPoolSubscribe(sub_id,filters,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.subscribe(sub_id,filters)}};RelayPool.prototype.unsubscribe=function relayPoolUnsubscibe(sub_id,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.unsubscribe(sub_id)}};RelayPool.prototype.add=function relayPoolAdd(relay){if(relay instanceof Relay){if(this.has(relay.url))return false;this.relays.push(relay);this.setupHandlers();return true}if(this.has(relay))return false;const r=Relay(relay,this.opts);this.relays.push(r);this.setupHandlers();return true};RelayPool.prototype.find_relays=function relayPoolFindRelays(relay_ids){if(relay_ids instanceof Relay)return[relay_ids];if(relay_ids.length===0)return[];if(!relay_ids[0])throw new Error("what!?");if(relay_ids[0]instanceof Relay)return relay_ids;return this.relays.reduce((acc,relay)=>{if(relay_ids.some(rid=>relay.url===rid))acc.push(relay);return acc},[])};var relayPool=RelayPool;var eventsExports={};var events={get exports(){return eventsExports},set exports(v){eventsExports=v}};var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter$1(){EventEmitter$1.init.call(this)}events.exports=EventEmitter$1;eventsExports.once=once;EventEmitter$1.EventEmitter=EventEmitter$1;EventEmitter$1.prototype._events=undefined;EventEmitter$1.prototype._eventsCount=0;EventEmitter$1.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter$1,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter$1.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter$1.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter$1.defaultMaxListeners;return that._maxListeners}EventEmitter$1.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter$1.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter$1.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter$1.prototype.on=EventEmitter$1.prototype.addListener;EventEmitter$1.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter$1.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter$1.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter$1.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter$1.prototype.off=EventEmitter$1.prototype.removeListener;EventEmitter$1.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter$1.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter$1.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter$1.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter$1.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter$1.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i0){return parse(val)}else if(type==="number"&&isFinite(val)){return options.long?fmtLong(val):fmtShort(val)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){str=String(str);if(str.length>100){return}var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match){return}var n=parseFloat(match[1]);var type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return undefined}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return Math.round(ms/d)+"d"}if(msAbs>=h){return Math.round(ms/h)+"h"}if(msAbs>=m){return Math.round(ms/m)+"m"}if(msAbs>=s){return Math.round(ms/s)+"s"}return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return plural(ms,msAbs,d,"day")}if(msAbs>=h){return plural(ms,msAbs,h,"hour")}if(msAbs>=m){return plural(ms,msAbs,m,"minute")}if(msAbs>=s){return plural(ms,msAbs,s,"second")}return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}return ms}function setup(env){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=requireMs();createDebug.destroy=destroy;Object.keys(env).forEach(key=>{createDebug[key]=env[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format];if(typeof formatter==="function"){const val=args[index];match=formatter.call(self,val);args.splice(index,1);index--}return match});createDebug.formatArgs.call(self,args);const logFn=self.log||createDebug.log;logFn.apply(self,args)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split.length;for(i=0;i"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports.storage.setItem("debug",namespaces)}else{exports.storage.removeItem("debug")}}catch(error){}}function load(){let r;try{r=exports.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module.exports=common(exports);const{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}})(browser$2,browserExports);var eventemitter3Exports={};var eventemitter3={get exports(){return eventemitter3Exports},set exports(v){eventemitter3Exports=v}};(function(module){var has=Object.prototype.hasOwnProperty,prefix="~";function Events(){}if(Object.create){Events.prototype=Object.create(null);if(!(new Events).__proto__)prefix=false}function EE(fn,context,once){this.fn=fn;this.context=context;this.once=once||false}function addListener(emitter,event,fn,context,once){if(typeof fn!=="function"){throw new TypeError("The listener must be a function")}var listener=new EE(fn,context||emitter,once),evt=prefix?prefix+event:event;if(!emitter._events[evt])emitter._events[evt]=listener,emitter._eventsCount++;else if(!emitter._events[evt].fn)emitter._events[evt].push(listener);else emitter._events[evt]=[emitter._events[evt],listener];return emitter}function clearEvent(emitter,evt){if(--emitter._eventsCount===0)emitter._events=new Events;else delete emitter._events[evt]}function EventEmitter(){this._events=new Events;this._eventsCount=0}EventEmitter.prototype.eventNames=function eventNames(){var names=[],events,name;if(this._eventsCount===0)return names;for(name in events=this._events){if(has.call(events,name))names.push(prefix?name.slice(1):name)}if(Object.getOwnPropertySymbols){return names.concat(Object.getOwnPropertySymbols(events))}return names};EventEmitter.prototype.listeners=function listeners(event){var evt=prefix?prefix+event:event,handlers=this._events[evt];if(!handlers)return[];if(handlers.fn)return[handlers.fn];for(var i=0,l=handlers.length,ee=new Array(l);i (http://dev.sipdoc.net)"];var version$1="1.0.34";var repository={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"};var homepage="https://github.com/theturtle32/WebSocket-Node";var engines={node:">=4.0.0"};var dependencies={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"};var devDependencies={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"};var config={verbose:false};var scripts={test:"tape test/unit/*.js",gulp:"gulp"};var main="index";var directories={lib:"./lib"};var browser$1="lib/browser.js";var license="Apache-2.0";var require$$0={name:name,description:description,keywords:keywords,author:author,contributors:contributors,version:version$1,repository:repository,homepage:homepage,engines:engines,dependencies:dependencies,devDependencies:devDependencies,config:config,scripts:scripts,main:main,directories:directories,browser:browser$1,license:license};var version;var hasRequiredVersion;function requireVersion(){if(hasRequiredVersion)return version;hasRequiredVersion=1;version=require$$0.version;return version}var browser;var hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser;hasRequiredBrowser=1;var _globalThis;if(typeof globalThis==="object"){_globalThis=globalThis}else{try{_globalThis=requireGlobal$2()}catch(error){}finally{if(!_globalThis&&typeof window!=="undefined"){_globalThis=window}if(!_globalThis){throw new Error("Could not determine global this")}}}var NativeWebSocket=_globalThis.WebSocket||_globalThis.MozWebSocket;var websocket_version=requireVersion();function W3CWebSocket(uri,protocols){var native_instance;if(protocols){native_instance=new NativeWebSocket(uri,protocols)}else{native_instance=new NativeWebSocket(uri)}return native_instance}if(NativeWebSocket){["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(prop){Object.defineProperty(W3CWebSocket,prop,{get:function(){return NativeWebSocket[prop]}})})}browser={w3cwebsocket:NativeWebSocket?W3CWebSocket:null,version:websocket_version};return browser}var EventTarget={};var HashSet={};var UniqueSet={};var SetContainer={};var Container$1={};var ForOfAdaptor={};var hasRequiredForOfAdaptor;function requireForOfAdaptor(){if(hasRequiredForOfAdaptor)return ForOfAdaptor;hasRequiredForOfAdaptor=1;Object.defineProperty(ForOfAdaptor,"__esModule",{value:true});ForOfAdaptor.ForOfAdaptor=void 0;var ForOfAdaptor$1=function(){function ForOfAdaptor(first,last){this.it_=first;this.last_=last}ForOfAdaptor.prototype.next=function(){if(this.it_.equals(this.last_))return{done:true,value:undefined};else{var it=this.it_;this.it_=this.it_.next();return{done:false,value:it.value}}};ForOfAdaptor.prototype[Symbol.iterator]=function(){return this};return ForOfAdaptor}();ForOfAdaptor.ForOfAdaptor=ForOfAdaptor$1;return ForOfAdaptor}var hasRequiredContainer;function requireContainer(){if(hasRequiredContainer)return Container$1;hasRequiredContainer=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Container$1,"__esModule",{value:true});Container$1.Container=void 0;var ForOfAdaptor_1=requireForOfAdaptor();var Container=function(){function Container(){}Container.prototype.empty=function(){return this.size()===0};Container.prototype.rbegin=function(){return this.end().reverse()};Container.prototype.rend=function(){return this.begin().reverse()};Container.prototype[Symbol.iterator]=function(){return new ForOfAdaptor_1.ForOfAdaptor(this.begin(),this.end())};Container.prototype.toJSON=function(){var e_1,_a;var ret=[];try{for(var _b=__values(this),_c=_b.next();!_c.done;_c=_b.next()){var elem=_c.value;ret.push(elem)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(_c&&!_c.done&&(_a=_b.return))_a.call(_b)}finally{if(e_1)throw e_1.error}}return ret};return Container}();Container$1.Container=Container;return Container$1}var NativeArrayIterator={};var hasRequiredNativeArrayIterator;function requireNativeArrayIterator(){if(hasRequiredNativeArrayIterator)return NativeArrayIterator;hasRequiredNativeArrayIterator=1;var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(NativeArrayIterator,"__esModule",{value:true});NativeArrayIterator.NativeArrayIterator=void 0;var NativeArrayIterator$1=function(){function NativeArrayIterator(data,index){this.data_=data;this.index_=index}NativeArrayIterator.prototype.index=function(){return this.index_};Object.defineProperty(NativeArrayIterator.prototype,"value",{get:function(){return this.data_[this.index_]},enumerable:false,configurable:true});NativeArrayIterator.prototype.prev=function(){--this.index_;return this};NativeArrayIterator.prototype.next=function(){++this.index_;return this};NativeArrayIterator.prototype.advance=function(n){this.index_+=n;return this};NativeArrayIterator.prototype.equals=function(obj){return this.data_===obj.data_&&this.index_===obj.index_};NativeArrayIterator.prototype.swap=function(obj){var _a,_b;_a=__read([obj.data_,this.data_],2),this.data_=_a[0],obj.data_=_a[1];_b=__read([obj.index_,this.index_],2),this.index_=_b[0],obj.index_=_b[1]};return NativeArrayIterator}();NativeArrayIterator.NativeArrayIterator=NativeArrayIterator$1;return NativeArrayIterator}var hasRequiredSetContainer;function requireSetContainer(){if(hasRequiredSetContainer)return SetContainer;hasRequiredSetContainer=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(SetContainer,"__esModule",{value:true});SetContainer.SetContainer=void 0;var Container_1=requireContainer();var NativeArrayIterator_1=requireNativeArrayIterator();var SetContainer$1=function(_super){__extends(SetContainer,_super);function SetContainer(factory){var _this=_super.call(this)||this;_this.data_=factory(_this);return _this}SetContainer.prototype.assign=function(first,last){this.clear();this.insert(first,last)};SetContainer.prototype.clear=function(){this.data_.clear()};SetContainer.prototype.begin=function(){return this.data_.begin()};SetContainer.prototype.end=function(){return this.data_.end()};SetContainer.prototype.has=function(key){return!this.find(key).equals(this.end())};SetContainer.prototype.size=function(){return this.data_.size()};SetContainer.prototype.push=function(){var items=[];for(var _i=0;_i (index = ").concat(index,")."))}ErrorGenerator.negative_index=negative_index;function excessive_index(instance,method,index,size){return new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric index is equal or greater than size -> (index = ").concat(index,", size: ").concat(size,")."))}ErrorGenerator.excessive_index=excessive_index;function not_my_iterator(instance,method){return new InvalidArgument_1.InvalidArgument("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator is not this container's own."))}ErrorGenerator.not_my_iterator=not_my_iterator;function erased_iterator(instance,method){return new InvalidArgument_1.InvalidArgument("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator, it already has been erased."))}ErrorGenerator.erased_iterator=erased_iterator;function negative_iterator(instance,method,index){return new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator is directing negative position -> (index = ").concat(index,")."))}ErrorGenerator.negative_iterator=negative_iterator;function iterator_end_value(instance,method){if(method===void 0){method="end"}var className=get_class_name(instance);return new OutOfRange_1.OutOfRange("Error on ".concat(className,".Iterator.value: cannot access to the ").concat(className,".").concat(method,"().value."))}ErrorGenerator.iterator_end_value=iterator_end_value;function key_nout_found(instance,method,key){throw new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): unable to find the matched key -> ").concat(key))}ErrorGenerator.key_nout_found=key_nout_found})(exports.ErrorGenerator||(exports.ErrorGenerator={}))})(ErrorGenerator);return ErrorGenerator}var hasRequiredUniqueSet;function requireUniqueSet(){if(hasRequiredUniqueSet)return UniqueSet;hasRequiredUniqueSet=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=1&&args[0]instanceof Array){ramda=function(){var items=args[0];source.push.apply(source,__spreadArray([],__read(items),false))};tail=args.slice(1)}else if(args.length>=2&&args[0].next instanceof Function&&args[1].next instanceof Function){ramda=function(){var first=args[0];var last=args[1];source.assign(first,last)};tail=args.slice(2)}else{ramda=null;tail=args}return{ramda:ramda,tail:tail}}IAssociativeContainer.construct=construct})(exports.IAssociativeContainer||(exports.IAssociativeContainer={}))})(IAssociativeContainer);return IAssociativeContainer}var hash={};var uid={};var Global={};var hasRequiredGlobal$1;function requireGlobal$1(){if(hasRequiredGlobal$1)return Global;hasRequiredGlobal$1=1;Object.defineProperty(Global,"__esModule",{value:true});Global._Get_root=void 0;var node_1=node;function _Get_root(){if(__s_pRoot===null){__s_pRoot=(0,node_1.is_node)()?commonjsGlobal:self;if(__s_pRoot.__s_iUID===undefined)__s_pRoot.__s_iUID=0}return __s_pRoot}Global._Get_root=_Get_root;var __s_pRoot=null;return Global}var hasRequiredUid;function requireUid(){if(hasRequiredUid)return uid;hasRequiredUid=1;Object.defineProperty(uid,"__esModule",{value:true});uid.get_uid=void 0;var Global_1=requireGlobal$1();function get_uid(obj){if(obj instanceof Object){if(obj.hasOwnProperty("__get_m_iUID")===false){var uid_1=++(0,Global_1._Get_root)().__s_iUID;Object.defineProperty(obj,"__get_m_iUID",{value:function(){return uid_1}})}return obj.__get_m_iUID()}else if(obj===undefined)return-1;else return 0}uid.get_uid=get_uid;return uid}var hasRequiredHash;function requireHash(){if(hasRequiredHash)return hash;hasRequiredHash=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(hash,"__esModule",{value:true});hash.hash=void 0;var uid_1=requireUid();function hash$1(){var e_1,_a;var itemList=[];for(var _i=0;_i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=1)hash_function=tuple.tail[0];if(tuple.tail.length>=2)key_eq=tuple.tail[1]}bucketFactory(hash_function,key_eq);if(post_process!==null)post_process()}IHashContainer.construct=construct})(exports.IHashContainer||(exports.IHashContainer={}))})(IHashContainer);return IHashContainer}var SetElementList={};var ListContainer={};var ListIterator={};var hasRequiredListIterator;function requireListIterator(){if(hasRequiredListIterator)return ListIterator;hasRequiredListIterator=1;Object.defineProperty(ListIterator,"__esModule",{value:true});ListIterator.ListIterator=void 0;var ErrorGenerator_1=requireErrorGenerator();var ListIterator$1=function(){function ListIterator(prev,next,value){this.prev_=prev;this.next_=next;this.value_=value}ListIterator._Set_prev=function(it,prev){it.prev_=prev};ListIterator._Set_next=function(it,next){it.next_=next};ListIterator.prototype.prev=function(){return this.prev_};ListIterator.prototype.next=function(){return this.next_};Object.defineProperty(ListIterator.prototype,"value",{get:function(){this._Try_value();return this.value_},enumerable:false,configurable:true});ListIterator.prototype._Try_value=function(){if(this.value_===undefined&&this.equals(this.source().end())===true)throw ErrorGenerator_1.ErrorGenerator.iterator_end_value(this.source())};ListIterator.prototype.equals=function(obj){return this===obj};return ListIterator}();ListIterator.ListIterator=ListIterator$1;return ListIterator}var Repeater={};var hasRequiredRepeater;function requireRepeater(){if(hasRequiredRepeater)return Repeater;hasRequiredRepeater=1;Object.defineProperty(Repeater,"__esModule",{value:true});Repeater.Repeater=void 0;var Repeater$1=function(){function Repeater(index,value){this.index_=index;this.value_=value}Repeater.prototype.index=function(){return this.index_};Object.defineProperty(Repeater.prototype,"value",{get:function(){return this.value_},enumerable:false,configurable:true});Repeater.prototype.next=function(){++this.index_;return this};Repeater.prototype.equals=function(obj){return this.index_===obj.index_};return Repeater}();Repeater.Repeater=Repeater$1;return Repeater}var global$1={};var hasRequiredGlobal;function requireGlobal(){if(hasRequiredGlobal)return global$1;hasRequiredGlobal=1;Object.defineProperty(global$1,"__esModule",{value:true});global$1.next=global$1.prev=global$1.advance=global$1.distance=global$1.size=global$1.empty=void 0;var InvalidArgument_1=requireInvalidArgument();function empty(source){if(source instanceof Array)return source.length!==0;else return source.empty()}global$1.empty=empty;function size(source){if(source instanceof Array)return source.length;else return source.size()}global$1.size=size;function distance(first,last){if(first.index instanceof Function)return _Distance_via_index(first,last);var ret=0;for(;!first.equals(last);first=first.next())++ret;return ret}global$1.distance=distance;function _Distance_via_index(first,last){var x=first.index();var y=last.index();if(first.base instanceof Function)return x-y;else return y-x}function advance(it,n){if(n===0)return it;else if(it.advance instanceof Function)return it.advance(n);var stepper;if(n<0){if(!(it.prev instanceof Function))throw new InvalidArgument_1.InvalidArgument("Error on std.advance(): parametric iterator is not a bi-directional iterator, thus advancing to negative direction is not possible.");stepper=function(it){return it.prev()};n=-n}else stepper=function(it){return it.next()};while(n-- >0)it=stepper(it);return it}global$1.advance=advance;function prev(it,n){if(n===void 0){n=1}if(n===1)return it.prev();else return advance(it,-n)}global$1.prev=prev;function next(it,n){if(n===void 0){n=1}if(n===1)return it.next();else return advance(it,n)}global$1.next=next;return global$1}var hasRequiredListContainer;function requireListContainer(){if(hasRequiredListContainer)return ListContainer;hasRequiredListContainer=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(ListContainer,"__esModule",{value:true});ListContainer.ListContainer=void 0;var Container_1=requireContainer();var ListIterator_1=requireListIterator();var Repeater_1=requireRepeater();var NativeArrayIterator_1=requireNativeArrayIterator();var global_1=requireGlobal();var ErrorGenerator_1=requireErrorGenerator();var ListContainer$1=function(_super){__extends(ListContainer,_super);function ListContainer(){var _this=_super.call(this)||this;_this.end_=_this._Create_iterator(null,null);_this.clear();return _this}ListContainer.prototype.assign=function(par1,par2){this.clear();this.insert(this.end(),par1,par2)};ListContainer.prototype.clear=function(){ListIterator_1.ListIterator._Set_prev(this.end_,this.end_);ListIterator_1.ListIterator._Set_next(this.end_,this.end_);this.begin_=this.end_;this.size_=0};ListContainer.prototype.resize=function(n){var expansion=n-this.size();if(expansion>0)this.insert(this.end(),expansion,undefined);else if(expansion<0)this.erase((0,global_1.advance)(this.end(),-expansion),this.end())};ListContainer.prototype.begin=function(){return this.begin_};ListContainer.prototype.end=function(){return this.end_};ListContainer.prototype.size=function(){return this.size_};ListContainer.prototype.push_front=function(val){this.insert(this.begin_,val)};ListContainer.prototype.push_back=function(val){this.insert(this.end_,val)};ListContainer.prototype.pop_front=function(){if(this.empty()===true)throw ErrorGenerator_1.ErrorGenerator.empty(this.end_.source().constructor.name,"pop_front");this.erase(this.begin_)};ListContainer.prototype.pop_back=function(){if(this.empty()===true)throw ErrorGenerator_1.ErrorGenerator.empty(this.end_.source().constructor.name,"pop_back");this.erase(this.end_.prev())};ListContainer.prototype.push=function(){var items=[];for(var _i=0;_i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(exports,"__esModule",{value:true});exports.SetElementList=void 0;var ListContainer_1=requireListContainer();var ListIterator_1=requireListIterator();var ReverseIterator_1=requireReverseIterator();var SetElementList=function(_super){__extends(SetElementList,_super);function SetElementList(associative){var _this=_super.call(this)||this;_this.associative_=associative;return _this}SetElementList.prototype._Create_iterator=function(prev,next,val){return SetElementList.Iterator.create(this,prev,next,val)};SetElementList._Swap_associative=function(x,y){var _a;_a=__read([y.associative_,x.associative_],2),x.associative_=_a[0],y.associative_=_a[1]};SetElementList.prototype.associative=function(){return this.associative_};return SetElementList}(ListContainer_1.ListContainer);exports.SetElementList=SetElementList;(function(SetElementList){var Iterator=function(_super){__extends(Iterator,_super);function Iterator(list,prev,next,val){var _this=_super.call(this,prev,next,val)||this;_this.source_=list;return _this}Iterator.create=function(list,prev,next,val){return new Iterator(list,prev,next,val)};Iterator.prototype.reverse=function(){return new ReverseIterator(this)};Iterator.prototype.source=function(){return this.source_.associative()};return Iterator}(ListIterator_1.ListIterator);SetElementList.Iterator=Iterator;var ReverseIterator=function(_super){__extends(ReverseIterator,_super);function ReverseIterator(){return _super!==null&&_super.apply(this,arguments)||this}ReverseIterator.prototype._Create_neighbor=function(base){return new ReverseIterator(base)};return ReverseIterator}(ReverseIterator_1.ReverseIterator);SetElementList.ReverseIterator=ReverseIterator})(SetElementList=exports.SetElementList||(exports.SetElementList={}));exports.SetElementList=SetElementList})(SetElementList);return SetElementList}var SetHashBuckets={};var HashBuckets={};var hasRequiredHashBuckets;function requireHashBuckets(){if(hasRequiredHashBuckets)return HashBuckets;hasRequiredHashBuckets=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(HashBuckets,"__esModule",{value:true});HashBuckets.HashBuckets=void 0;var HashBuckets$1=function(){function HashBuckets(fetcher,hasher){this.fetcher_=fetcher;this.hasher_=hasher;this.max_load_factor_=DEFAULT_MAX_FACTOR;this.data_=[];this.size_=0;this.initialize()}HashBuckets.prototype.clear=function(){this.data_=[];this.size_=0;this.initialize()};HashBuckets.prototype.rehash=function(length){var e_1,_a,e_2,_b;length=Math.max(length,MIN_BUCKET_COUNT);var data=[];for(var i=0;ithis.capacity()){length=Math.floor(length/this.max_load_factor_);this.rehash(length)}};HashBuckets.prototype.initialize=function(){for(var i=0;icapacity)this.reserve(capacity*2);var index=this.index(val);this.data_[index].push(val)};HashBuckets.prototype.erase=function(val){var index=this.index(val);var bucket=this.data_[index];for(var i=0;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(SetHashBuckets,"__esModule",{value:true});SetHashBuckets.SetHashBuckets=void 0;var HashBuckets_1=requireHashBuckets();var SetHashBuckets$1=function(_super){__extends(SetHashBuckets,_super);function SetHashBuckets(source,hasher,pred){var _this=_super.call(this,fetcher,hasher)||this;_this.source_=source;_this.key_eq_=pred;return _this}SetHashBuckets._Swap_source=function(x,y){var _a;_a=__read([y.source_,x.source_],2),x.source_=_a[0],y.source_=_a[1]};SetHashBuckets.prototype.key_eq=function(){return this.key_eq_};SetHashBuckets.prototype.find=function(val){var e_1,_a;var index=this.hash_function()(val)%this.length();var bucket=this.at(index);try{for(var bucket_1=__values(bucket),bucket_1_1=bucket_1.next();!bucket_1_1.done;bucket_1_1=bucket_1.next()){var it=bucket_1_1.value;if(this.key_eq_(it.value,val))return it}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(bucket_1_1&&!bucket_1_1.done&&(_a=bucket_1.return))_a.call(bucket_1)}finally{if(e_1)throw e_1.error}}return this.source_.end()};return SetHashBuckets}(HashBuckets_1.HashBuckets);SetHashBuckets.SetHashBuckets=SetHashBuckets$1;function fetcher(elem){return elem.value}return SetHashBuckets}var Pair={};var hasRequiredPair;function requirePair(){if(hasRequiredPair)return Pair;hasRequiredPair=1;Object.defineProperty(Pair,"__esModule",{value:true});Pair.make_pair=Pair.Pair=void 0;var hash_1=requireHash();var comparators_1=requireComparators();var Pair$1=function(){function Pair(first,second){this.first=first;this.second=second}Pair.prototype.equals=function(pair){return(0,comparators_1.equal_to)(this.first,pair.first)&&(0,comparators_1.equal_to)(this.second,pair.second)};Pair.prototype.less=function(pair){if((0,comparators_1.equal_to)(this.first,pair.first)===false)return(0,comparators_1.less)(this.first,pair.first);else return(0,comparators_1.less)(this.second,pair.second)};Pair.prototype.hashCode=function(){return(0,hash_1.hash)(this.first,this.second)};return Pair}();Pair.Pair=Pair$1;function make_pair(first,second){return new Pair$1(first,second)}Pair.make_pair=make_pair;return Pair}var hasRequiredHashSet;function requireHashSet(){if(hasRequiredHashSet)return HashSet;hasRequiredHashSet=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(exports,"__esModule",{value:true});exports.MapElementList=void 0;var ListContainer_1=requireListContainer();var ListIterator_1=requireListIterator();var ReverseIterator_1=requireReverseIterator();var MapElementList=function(_super){__extends(MapElementList,_super);function MapElementList(associative){var _this=_super.call(this)||this;_this.associative_=associative;return _this}MapElementList.prototype._Create_iterator=function(prev,next,val){return MapElementList.Iterator.create(this,prev,next,val)};MapElementList._Swap_associative=function(x,y){var _a;_a=__read([y.associative_,x.associative_],2),x.associative_=_a[0],y.associative_=_a[1]};MapElementList.prototype.associative=function(){return this.associative_};return MapElementList}(ListContainer_1.ListContainer);exports.MapElementList=MapElementList;(function(MapElementList){var Iterator=function(_super){__extends(Iterator,_super);function Iterator(list,prev,next,val){var _this=_super.call(this,prev,next,val)||this;_this.list_=list;return _this}Iterator.create=function(list,prev,next,val){return new Iterator(list,prev,next,val)};Iterator.prototype.reverse=function(){return new ReverseIterator(this)};Iterator.prototype.source=function(){return this.list_.associative()};Object.defineProperty(Iterator.prototype,"first",{get:function(){return this.value.first},enumerable:false,configurable:true});Object.defineProperty(Iterator.prototype,"second",{get:function(){return this.value.second},set:function(val){this.value.second=val},enumerable:false,configurable:true});return Iterator}(ListIterator_1.ListIterator);MapElementList.Iterator=Iterator;var ReverseIterator=function(_super){__extends(ReverseIterator,_super);function ReverseIterator(){return _super!==null&&_super.apply(this,arguments)||this}ReverseIterator.prototype._Create_neighbor=function(base){return new ReverseIterator(base)};Object.defineProperty(ReverseIterator.prototype,"first",{get:function(){return this.base_.first},enumerable:false,configurable:true});Object.defineProperty(ReverseIterator.prototype,"second",{get:function(){return this.base_.second},set:function(val){this.base_.second=val},enumerable:false,configurable:true});return ReverseIterator}(ReverseIterator_1.ReverseIterator);MapElementList.ReverseIterator=ReverseIterator})(MapElementList=exports.MapElementList||(exports.MapElementList={}));exports.MapElementList=MapElementList})(MapElementList);return MapElementList}var MapHashBuckets={};var hasRequiredMapHashBuckets;function requireMapHashBuckets(){if(hasRequiredMapHashBuckets)return MapHashBuckets;hasRequiredMapHashBuckets=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(MapHashBuckets,"__esModule",{value:true});MapHashBuckets.MapHashBuckets=void 0;var HashBuckets_1=requireHashBuckets();var MapHashBuckets$1=function(_super){__extends(MapHashBuckets,_super);function MapHashBuckets(source,hasher,pred){var _this=_super.call(this,fetcher,hasher)||this;_this.source_=source;_this.key_eq_=pred;return _this}MapHashBuckets._Swap_source=function(x,y){var _a;_a=__read([y.source_,x.source_],2),x.source_=_a[0],y.source_=_a[1]};MapHashBuckets.prototype.key_eq=function(){return this.key_eq_};MapHashBuckets.prototype.find=function(key){var e_1,_a;var index=this.hash_function()(key)%this.length();var bucket=this.at(index);try{for(var bucket_1=__values(bucket),bucket_1_1=bucket_1.next();!bucket_1_1.done;bucket_1_1=bucket_1.next()){var it=bucket_1_1.value;if(this.key_eq_(it.first,key))return it}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(bucket_1_1&&!bucket_1_1.done&&(_a=bucket_1.return))_a.call(bucket_1)}finally{if(e_1)throw e_1.error}}return this.source_.end()};return MapHashBuckets}(HashBuckets_1.HashBuckets);MapHashBuckets.MapHashBuckets=MapHashBuckets$1;function fetcher(elem){return elem.first}return MapHashBuckets}var Entry={};var hasRequiredEntry;function requireEntry(){if(hasRequiredEntry)return Entry;hasRequiredEntry=1;Object.defineProperty(Entry,"__esModule",{value:true});Entry.Entry=void 0;var hash_1=requireHash();var comparators_1=requireComparators();var Entry$1=function(){function Entry(first,second){this.first=first;this.second=second}Entry.prototype.equals=function(obj){return(0,comparators_1.equal_to)(this.first,obj.first)};Entry.prototype.less=function(obj){return(0,comparators_1.less)(this.first,obj.first)};Entry.prototype.hashCode=function(){return(0,hash_1.hash)(this.first)};return Entry}();Entry.Entry=Entry$1;return Entry}var hasRequiredHashMap;function requireHashMap(){if(hasRequiredHashMap)return HashMap;hasRequiredHashMap=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=o.length)o=void 0;return{value:o&&o[i++],done:!o}}}};Object.defineProperty(EventTarget,"__esModule",{value:true});var HashSet_1=requireHashSet();var HashMap_1=requireHashMap();var EventTarget$1=function(){function EventTarget(){this.listeners_=new HashMap_1.HashMap;this.created_at_=new Date}EventTarget.prototype.dispatchEvent=function(event){var e_1,_a;var it=this.listeners_.find(event.type);if(it.equals(this.listeners_.end()))return;event.target=this;event.timeStamp=(new Date).getTime()-this.created_at_.getTime();try{for(var _b=__values(it.second),_c=_b.next();!_c.done;_c=_b.next()){var listener=_c.value;listener(event)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(_c&&!_c.done&&(_a=_b.return))_a.call(_b)}finally{if(e_1)throw e_1.error}}};EventTarget.prototype.addEventListener=function(type,listener){var it=this.listeners_.find(type);if(it.equals(this.listeners_.end()))it=this.listeners_.emplace(type,new HashSet_1.HashSet).first;it.second.insert(listener)};EventTarget.prototype.removeEventListener=function(type,listener){var it=this.listeners_.find(type);if(it.equals(this.listeners_.end()))return;it.second.erase(listener);if(it.second.empty())this.listeners_.erase(it)};return EventTarget}();EventTarget.EventTarget=EventTarget$1;return EventTarget}var Event={};var hasRequiredEvent;function requireEvent(){if(hasRequiredEvent)return Event;hasRequiredEvent=1;Object.defineProperty(Event,"__esModule",{value:true});var Event$1=function(){function Event(type,init){this.type=type;if(init)Object.assign(this,init)}return Event}();Event.Event=Event$1;return Event}var CloseEvent={};var hasRequiredCloseEvent;function requireCloseEvent(){if(hasRequiredCloseEvent)return CloseEvent;hasRequiredCloseEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(CloseEvent,"__esModule",{value:true});var Event_1=requireEvent();var CloseEvent$1=function(_super){__extends(CloseEvent,_super);function CloseEvent(type,init){return _super.call(this,type,init)||this}return CloseEvent}(Event_1.Event);CloseEvent.CloseEvent=CloseEvent$1;return CloseEvent}var MessageEvent={};var hasRequiredMessageEvent;function requireMessageEvent(){if(hasRequiredMessageEvent)return MessageEvent;hasRequiredMessageEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(MessageEvent,"__esModule",{value:true});var Event_1=requireEvent();var MessageEvent$1=function(_super){__extends(MessageEvent,_super);function MessageEvent(type,init){return _super.call(this,type,init)||this}return MessageEvent}(Event_1.Event);MessageEvent.MessageEvent=MessageEvent$1;return MessageEvent}var ErrorEvent={};var hasRequiredErrorEvent;function requireErrorEvent(){if(hasRequiredErrorEvent)return ErrorEvent;hasRequiredErrorEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(ErrorEvent,"__esModule",{value:true});var Event_1=requireEvent();var ErrorEvent$1=function(_super){__extends(ErrorEvent,_super);function ErrorEvent(type,init){return _super.call(this,type,init)||this}return ErrorEvent}(Event_1.Event);ErrorEvent.ErrorEvent=ErrorEvent$1;return ErrorEvent}var hasRequiredWebSocket;function requireWebSocket(){if(hasRequiredWebSocket)return WebSocket$1;hasRequiredWebSocket=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __assign=commonjsGlobal&&commonjsGlobal.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;ihex.encode(bech32.fromWordsUnsafe(words)),16:words=>hex.encode(bech32.fromWordsUnsafe(words)),13:words=>utf8.encode(bech32.fromWordsUnsafe(words)),19:words=>hex.encode(bech32.fromWordsUnsafe(words)),23:words=>hex.encode(bech32.fromWordsUnsafe(words)),27:words=>hex.encode(bech32.fromWordsUnsafe(words)),6:wordsToIntBE,24:wordsToIntBE,3:routingInfoParser,5:featureBitsParser};function getUnknownParser(tagCode){return words=>({tagCode:parseInt(tagCode),words:bech32.encode("unknown",words,Number.MAX_SAFE_INTEGER)})}function wordsToIntBE(words){return words.reverse().reduce((total,item,index)=>{return total+item*Math.pow(32,index)},0)}function routingInfoParser(words){const routes=[];let pubkey,shortChannelId,feeBaseMSats,feeProportionalMillionths,cltvExpiryDelta;let routesBuffer=bech32.fromWordsUnsafe(words);while(routesBuffer.length>0){pubkey=hex.encode(routesBuffer.slice(0,33));shortChannelId=hex.encode(routesBuffer.slice(33,41));feeBaseMSats=parseInt(hex.encode(routesBuffer.slice(41,45)),16);feeProportionalMillionths=parseInt(hex.encode(routesBuffer.slice(45,49)),16);cltvExpiryDelta=parseInt(hex.encode(routesBuffer.slice(49,51)),16);routesBuffer=routesBuffer.slice(51);routes.push({pubkey:pubkey,short_channel_id:shortChannelId,fee_base_msat:feeBaseMSats,fee_proportional_millionths:feeProportionalMillionths,cltv_expiry_delta:cltvExpiryDelta})}return routes}function featureBitsParser(words){const bools=words.slice().reverse().map(word=>[!!(word&1),!!(word&2),!!(word&4),!!(word&8),!!(word&16)]).reduce((finalArr,itemArr)=>finalArr.concat(itemArr),[]);while(bools.length{let status;if(bools[index*2]){status="required"}else if(bools[index*2+1]){status="supported"}else{status="unsupported"}featureBits[featureName]=status});const extraBits=bools.slice(FEATUREBIT_ORDER.length*2);featureBits.extra_bits={start_bit:FEATUREBIT_ORDER.length*2,bits:extraBits,has_required:extraBits.reduce((result,bit,index)=>index%2!==0?result||false:result||bit,false)};return featureBits}function hrpToMillisat(hrpString,outputString){let divisor,value;if(hrpString.slice(-1).match(/^[munp]$/)){divisor=hrpString.slice(-1);value=hrpString.slice(0,-1)}else if(hrpString.slice(-1).match(/^[^munp0-9]$/)){throw new Error("Not a valid multiplier for the amount")}else{value=hrpString}if(!value.match(/^\d+$/))throw new Error("Not a valid human readable amount");const valueBN=BigInt(value);const millisatoshisBN=divisor?valueBN*MILLISATS_PER_BTC/DIVISORS[divisor]:valueBN*MILLISATS_PER_BTC;if(divisor==="p"&&!(valueBN%BigInt(10)===BigInt(0))||millisatoshisBN>MAX_MILLISATS){throw new Error("Amount is outside of valid range")}return outputString?millisatoshisBN.toString():millisatoshisBN}function decode(paymentRequest,network){if(typeof paymentRequest!=="string")throw new Error("Lightning Payment Request must be string");if(paymentRequest.slice(0,2).toLowerCase()!=="ln")throw new Error("Not a proper lightning payment request");const sections=[];const decoded=bech32.decode(paymentRequest,Number.MAX_SAFE_INTEGER);paymentRequest=paymentRequest.toLowerCase();const prefix=decoded.prefix;let words=decoded.words;let letters=paymentRequest.slice(prefix.length+1);let sigWords=words.slice(-104);words=words.slice(0,-104);let prefixMatches=prefix.match(/^ln(\S+?)(\d*)([a-zA-Z]?)$/);if(prefixMatches&&!prefixMatches[2])prefixMatches=prefix.match(/^ln(\S+)$/);if(!prefixMatches){throw new Error("Not a proper lightning payment request")}sections.push({name:"lightning_network",letters:"ln"});const bech32Prefix=prefixMatches[1];let coinNetwork;if(!network){switch(bech32Prefix){case DEFAULTNETWORK.bech32:coinNetwork=DEFAULTNETWORK;break;case TESTNETWORK.bech32:coinNetwork=TESTNETWORK;break;case REGTESTNETWORK.bech32:coinNetwork=REGTESTNETWORK;break;case SIMNETWORK.bech32:coinNetwork=SIMNETWORK;break}}else{if(network.bech32===undefined||network.pubKeyHash===undefined||network.scriptHash===undefined||!Array.isArray(network.validWitnessVersions))throw new Error("Invalid network");coinNetwork=network}if(!coinNetwork||coinNetwork.bech32!==bech32Prefix){throw new Error("Unknown coin bech32 prefix")}sections.push({name:"coin_network",letters:bech32Prefix,value:coinNetwork});const value=prefixMatches[2];let millisatoshis;if(value){const divisor=prefixMatches[3];millisatoshis=hrpToMillisat(value+divisor,true);sections.push({name:"amount",letters:prefixMatches[2]+prefixMatches[3],value:millisatoshis})}else{millisatoshis=null}sections.push({name:"separator",letters:"1"});const timestamp=wordsToIntBE(words.slice(0,7));words=words.slice(7);sections.push({name:"timestamp",letters:letters.slice(0,7),value:timestamp});letters=letters.slice(7);let tagName,parser,tagLength,tagWords;while(words.length>0){const tagCode=words[0].toString();tagName=TAGNAMES[tagCode]||"unknown_tag";parser=TAGPARSERS[tagCode]||getUnknownParser(tagCode);words=words.slice(1);tagLength=wordsToIntBE(words.slice(0,2));words=words.slice(2);tagWords=words.slice(0,tagLength);words=words.slice(tagLength);sections.push({name:tagName,tag:letters[0],letters:letters.slice(0,1+2+tagLength),value:parser(tagWords)});letters=letters.slice(1+2+tagLength)}sections.push({name:"signature",letters:letters.slice(0,104),value:hex.encode(bech32.fromWordsUnsafe(sigWords))});letters=letters.slice(104);sections.push({name:"checksum",letters:letters});let result={paymentRequest:paymentRequest,sections:sections,get expiry(){let exp=sections.find(s=>s.name==="expiry");if(exp)return getValue("timestamp")+exp.value},get route_hints(){return sections.filter(s=>s.name==="route_hint").map(s=>s.value)}};for(let name in TAGCODES){if(name==="route_hint"){continue}Object.defineProperty(result,name,{get(){return getValue(name)}})}return result;function getValue(name){let section=sections.find(s=>s.name===name);return section?section.value:undefined}}var bolt11={decode:decode,hrpToMillisat:hrpToMillisat};var Zap=class extends eventemitter3Exports{ndk;zappedEvent;zappedUser;constructor(args){super();this.ndk=args.ndk;this.zappedEvent=args.zappedEvent;this.zappedUser=args.zappedUser||this.ndk.getUser({hexpubkey:this.zappedEvent.pubkey})}async getZapEndpoint(){let lud06;let lud16;let zapEndpoint;let zapEndpointCallback;if(this.zappedEvent){const zapTag=(await this.zappedEvent.getMatchingTags("zap"))[0];if(zapTag){switch(zapTag[2]){case"lud06":lud06=zapTag[1];break;case"lud16":lud16=zapTag[1];break;default:throw new Error(`Unknown zap tag ${zapTag}`)}}}if(this.zappedUser){if(!this.zappedUser.profile){await this.zappedUser.fetchProfile()}lud06=(this.zappedUser.profile||{}).lud06;lud16=(this.zappedUser.profile||{}).lud16}if(lud16){const[name,domain]=lud16.split("@");zapEndpoint=`https://${domain}/.well-known/lnurlp/${name}`}else if(lud06){const{words}=bech32$1.decode(lud06,1e3);const data=bech32$1.fromWords(words);const utf8Decoder=new TextDecoder("utf-8");zapEndpoint=utf8Decoder.decode(data)}if(!zapEndpoint){throw new Error("No zap endpoint found")}const response=await fetch(zapEndpoint);const body=await response.json();if(body?.allowsNostr&&body?.nostrPubkey){zapEndpointCallback=body.callback}return zapEndpointCallback}async createZapRequest(amount,comment){const zapEndpoint=await this.getZapEndpoint();if(!zapEndpoint){throw new Error("No zap endpoint found")}if(!this.zappedEvent)throw new Error("No zapped event found");const zapRequest=nip57_exports.makeZapRequest({profile:this.zappedUser.hexpubkey(),event:this.zappedEvent?.id,amount:amount,comment:comment||"",relays:["wss://nos.lol","wss://relay.nostr.band","wss://relay.f7z.io","wss://relay.damus.io","wss://nostr.mom","wss://no.str.cr"]});const zapRequestEvent=new NDKEvent(this.ndk,zapRequest);await zapRequestEvent.sign();const zapRequestNostrEvent=await zapRequestEvent.toNostrEvent();const response=await fetch(`${zapEndpoint}?`+new URLSearchParams({amount:amount.toString(),nostr:JSON.stringify(zapRequestNostrEvent)}));const body=await response.json();return body.pr}};function generateContentTags(content,tags=[]){const tagRegex=/@(npub|nprofile|note)[a-zA-Z0-9]+/g;content=content.replace(tagRegex,tag=>{try{const{type,data}=nip19_exports.decode(tag.slice(1));const tagIndex=tags.length;switch(type){case"npub":tags.push(["p",data]);break;case"nprofile":tags.push(["p",data.pubkey]);break;case"nevent":tags.push(["e",data.id]);break;case"note":tags.push(["e",data]);break}return`#[${tagIndex}]`}catch(error){return tag}});return{content:content,tags:tags}}function isReplaceable(){if(!this.kind)throw new Error("Kind not set");return this.kind>=1e4&&this.kind<=3e4}function isParamReplaceable(){if(!this.kind)throw new Error("Kind not set");return this.kind>=3e4&&this.kind<=4e4}function encode(){if(this.isParamReplaceable()){return nip19_exports.naddrEncode({kind:this.kind,pubkey:this.pubkey,identifier:this.tagId()})}}var NDKEvent=class extends eventemitter3Exports{ndk;created_at;content="";subject;tags=[];kind;id="";sig;pubkey="";constructor(ndk,event){super();this.ndk=ndk;this.created_at=event?.created_at;this.content=event?.content||"";this.subject=event?.subject;this.tags=event?.tags||[];this.id=event?.id||"";this.sig=event?.sig;this.pubkey=event?.pubkey||"";if(event?.kind)this.kind=event?.kind}async toNostrEvent(pubkey){if(!pubkey){const user=await this.ndk?.signer?.user();pubkey=user?.hexpubkey()}const nostrEvent={created_at:this.created_at||Math.floor(Date.now()/1e3),content:this.content,tags:this.tags,kind:this.kind||0,pubkey:pubkey||this.pubkey,id:this.id};this.generateTags();if(this.subject)nostrEvent.subject=this.subject;try{nostrEvent.id=getEventHash(nostrEvent)}catch(e){}if(this.sig)nostrEvent.sig=this.sig;return nostrEvent}isReplaceable=isReplaceable.bind(this);isParamReplaceable=isParamReplaceable.bind(this);encode=encode.bind(this);getMatchingTags(tagName){return this.tags.filter(tag=>tag[0]===tagName)}async toString(){return await this.toNostrEvent()}async sign(){this.ndk?.assertSigner();await this.generateTags();const nostrEvent=await this.toNostrEvent();this.sig=await this.ndk?.signer?.sign(nostrEvent)}async publish(){if(!this.sig)await this.sign();return this.ndk?.publish(this)}async generateTags(){if(this.tags.length>0){const{content,tags}=generateContentTags(this.content,this.tags);this.content=content;this.tags=tags}if(this.kind&&this.kind>=3e4&&this.kind<=4e4){const dTag=this.getMatchingTags("d")[0];if(!dTag){const str=[...Array(16)].map(()=>Math.random().toString(36)[2]).join("");this.tags.push(["d",str])}}}tagId(){if(this.kind&&this.kind>=3e4&&this.kind<=4e4){const dTag=this.getMatchingTags("d")[0];const dTagId=dTag?dTag[1]:"";return`${this.kind}:${this.pubkey}:${dTagId}`}return this.id}tagReference(){if(this.kind&&this.kind>=3e4&&this.kind<=4e4){return["a",this.tagId()]}return["e",this.tagId()]}async zap(amount,comment){if(!this.ndk)throw new Error("No NDK instance found");this.ndk.assertSigner();const zap=new Zap({ndk:this.ndk,zappedEvent:this});const paymentRequest=await zap.createZapRequest(amount,comment);return paymentRequest}};var NDKRelay=class extends eventemitter3Exports{url;scores;relay;_status;connectedAt;_connectionStats={attempts:0,success:0,durations:[]};constructor(url){super();this.url=url;this.relay=relayInit(url);this.scores=new Map;this._status=3;this.relay.on("connect",()=>{this.updateConnectionStats.connected();this.emit("connect");this._status=1});this.relay.on("disconnect",()=>{this.updateConnectionStats.disconnected();this.emit("disconnect");if(this._status===1){this._status=3;this.handleReconnection()}});this.relay.on("notice",notice=>this.handleNotice(notice))}isFlapping(){const durations=this._connectionStats.durations;if(durations.length<10)return false;const sum=durations.reduce((a,b)=>a+b,0);const avg=sum/durations.length;const variance=durations.map(x=>Math.pow(x-avg,2)).reduce((a,b)=>a+b,0)/durations.length;const stdDev=Math.sqrt(variance);const isFlapping=stdDev<1e3;console.log(this.relay.url,{sum:sum,avg:avg,variance:variance,stdDev:stdDev,isFlapping:isFlapping});return isFlapping}handleReconnection(){if(this.isFlapping()){this.emit("flapping",this,this._connectionStats)}if(this.connectedAt&&Date.now()-this.connectedAt<5e3){setTimeout(()=>this.connect(),6e4)}else{this.connect()}}get status(){return this._status}async connect(){try{this.updateConnectionStats.attempt();this._status=0;await this.relay.connect()}catch(e){}}disconnect(){this._status=2;this.relay.close()}async handleNotice(notice){this.emit("notice",this,notice)}subscribe(subscription){const{filter}=subscription;const sub=this.relay.sub([filter],{id:subscription.subId});sub.on("event",event=>{const e=new NDKEvent(void 0,event);subscription.eventReceived(e,this)});sub.on("eose",()=>{subscription.eoseReceived(this)});return sub}async publish(event){const nostrEvent=await event.toNostrEvent();this.relay.publish(nostrEvent)}scoreSlowerEvent(timeDiffInMs){}updateConnectionStats={connected:()=>{this._connectionStats.success++;this._connectionStats.connectedAt=Date.now()},disconnected:()=>{if(this._connectionStats.connectedAt){this._connectionStats.durations.push(Date.now()-this._connectionStats.connectedAt);if(this._connectionStats.durations.length>100){this._connectionStats.durations.shift()}}this._connectionStats.connectedAt=void 0},attempt:()=>{this._connectionStats.attempts++}};get connectionStats(){return this._connectionStats}};var NDKPool=class extends eventemitter3Exports{relays=new Map;debug;constructor(relayUrls=[],ndk){super();this.debug=ndk.debug.extend("pool");relayUrls.forEach(relayUrl=>{const relay=new NDKRelay(relayUrl);relay.on("notice",(relay2,notice)=>this.emit("notice",relay2,notice));relay.on("connect",()=>this.emit("connect",relay));relay.on("disconnect",()=>this.emit("disconnect",relay));relay.on("flapping",()=>this.handleFlapping(relay));this.relays.set(relayUrl,relay)})}async connect(timeoutMs){const promises=[];this.debug(`Connecting to ${this.relays.size} relays${timeoutMs?`, timeout ${timeoutMs}...`:""}`);for(const relay of this.relays.values()){if(timeoutMs){const timeoutPromise=new Promise((_,reject)=>{setTimeout(()=>reject(`Timed out after ${timeoutMs}ms`),timeoutMs)});promises.push(Promise.race([relay.connect(),timeoutPromise]).catch(e=>{this.debug(`Failed to connect to relay ${relay.url}: ${e}`)}))}else{promises.push(relay.connect())}}await Promise.all(promises)}handleFlapping(relay){this.debug(`Relay ${relay.url} is flapping`);this.relays.delete(relay.url);this.emit("flapping",relay)}size(){return this.relays.size}stats(){const stats={total:0,connected:0,disconnected:0,connecting:0};for(const relay of this.relays.values()){stats.total++;if(relay.status===1){stats.connected++}else if(relay.status===3){stats.disconnected++}else if(relay.status===0){stats.connecting++}}return stats}};function mergeEvent(event,profile){const payload=JSON.parse(event.content);if(payload.name)profile.name=payload.name;if(payload.display_name)profile.displayName=payload.display_name;if(payload.displayName)profile.displayName=payload.displayName;if(payload.image)profile.image=payload.image;if(payload.picture)profile.image=payload.picture;if(payload.banner)profile.banner=payload.banner;if(payload.bio)profile.bio=payload.bio;if(payload.nip05)profile.nip05=payload.nip05;if(payload.lud06)profile.lud06=payload.lud06;if(payload.lud16)profile.lud16=payload.lud16;if(payload.about)profile.about=payload.about;if(payload.zapService)profile.zapService=payload.zapService;return profile}async function follows(){if(!this.ndk)throw new Error("NDK not set");const contactListEvents=await this.ndk.fetchEvents({kinds:[3],authors:[this.hexpubkey()]});if(contactListEvents){const contactList=new Set;contactListEvents.forEach(event=>{event.tags.forEach(tag=>{if(tag[0]==="p"){try{const user=new NDKUser({hexpubkey:tag[1]});user.ndk=this.ndk;contactList.add(user)}catch(e){}}})});return contactList}return new Set}var NDKUser=class{ndk;profile;npub="";relayUrls=[];constructor(opts){if(opts.npub)this.npub=opts.npub;if(opts.hexpubkey){this.npub=nip19_exports.npubEncode(opts.hexpubkey)}if(opts.relayUrls){this.relayUrls=opts.relayUrls}}static async fromNip05(nip05Id){const profile=await nip05_exports.queryProfile(nip05Id);if(profile){return new NDKUser({hexpubkey:profile.pubkey,relayUrls:profile.relays})}}hexpubkey(){return nip19_exports.decode(this.npub).data}async fetchProfile(){if(!this.ndk)throw new Error("NDK not set");if(!this.profile)this.profile={};const setMetadataEvents=await this.ndk.fetchEvents({kinds:[0],authors:[this.hexpubkey()]});if(setMetadataEvents){const sortedSetMetadataEvents=Array.from(setMetadataEvents).sort((a,b)=>a.created_at-b.created_at);sortedSetMetadataEvents.forEach(event=>{try{this.profile=mergeEvent(event,this.profile)}catch(e){}})}return setMetadataEvents}follows=follows.bind(this);async relayList(){if(!this.ndk)throw new Error("NDK not set");const relayListEvents=await this.ndk.fetchEvents({kinds:[10002],authors:[this.hexpubkey()]});if(relayListEvents){return relayListEvents}return new Set}};var NDKRelaySet=class{relays;constructor(relays){this.relays=relays}subscribeOnRelay(relay,subscription){const sub=relay.subscribe(subscription);subscription.relaySubscriptions.set(relay,sub)}subscribe(subscription){this.relays.forEach(relay=>{if(relay.status===1){this.subscribeOnRelay(relay,subscription)}});this.relays.forEach(relay=>{relay.on("connect",()=>this.subscribeOnRelay(relay,subscription))});return subscription}async publish(event){this.relays.forEach(async relay=>{try{await relay.publish(event)}catch(e){}})}size(){return this.relays.size}};function calculateRelaySetFromEvent(ndk,event){const relays=new Set;ndk.pool?.relays.forEach(relay=>relays.add(relay));return new NDKRelaySet(relays)}function calculateRelaySetFromFilter(ndk,filter){const relays=new Set;ndk.pool?.relays.forEach(relay=>relays.add(relay));return new NDKRelaySet(relays)}var NDKSubscription=class extends eventemitter3Exports{subId;filter;opts;relaySet;ndk;relaySubscriptions;debug;constructor(ndk,filter,opts,relaySet,subId){super();this.ndk=ndk;this.subId=subId||Math.floor(Math.random()*9999991e3).toString();this.filter=filter;this.relaySet=relaySet;this.opts=opts;this.relaySubscriptions=new Map;this.debug=ndk.debug.extend("subscription");if(opts?.cacheUsage==="ONLY_CACHE"||opts?.cacheUsage==="CACHE_FIRST"){throw new Error("Cannot use cache-only options with a persistent subscription")}}shouldQueryCache(){return this.opts?.cacheUsage!=="ONLY_RELAY"}shouldQueryRelays(){return this.opts?.cacheUsage!=="ONLY_CACHE"}async start(){let cachePromise;if(this.shouldQueryCache()){cachePromise=this.startWithCache();const shouldWaitForCache=this.ndk.cacheAdapter?.locking&&this.shouldQueryRelays()&&this.opts?.cacheUsage!=="PARALLEL";if(shouldWaitForCache){this.debug("waiting for cache to finish");await cachePromise;if(this.eventIds.size>0){this.debug("cache hit, skipping relay query");this.emit("eose");return}}}if(this.shouldQueryRelays()){this.startWithRelaySet()}return}async startWithCache(){if(this.ndk.cacheAdapter?.query){this.debug("querying cache");const promise=this.ndk.cacheAdapter.query(this);if(this.ndk.cacheAdapter.locking){await promise}}}startWithRelaySet(){if(!this.relaySet){this.relaySet=calculateRelaySetFromFilter(this.ndk,this.filter)}if(this.relaySet){this.debug("querying relays");this.relaySet.subscribe(this)}}eventFirstSeen=new Map;eventIds=new Set;eventReceived(event,relay,fromCache=false){if(!fromCache&&relay){const eventAlreadySeen=this.eventIds.has(event.id);if(eventAlreadySeen){const timeSinceFirstSeen=Date.now()-(this.eventFirstSeen.get(event.id)||0);relay.scoreSlowerEvent(timeSinceFirstSeen);this.emit("event:dup",event,relay,timeSinceFirstSeen);return}if(this.ndk.cacheAdapter){this.ndk.cacheAdapter.setEvent(event,this.filter)}this.eventFirstSeen.set(event.id,Date.now())}this.eventIds.add(event.id);this.emit("event",event,relay)}eosesSeen=new Set;eoseTimeout;eoseReceived(relay){if(this.opts?.closeOnEose){this.relaySubscriptions.get(relay)?.unsub()}this.eosesSeen.add(relay);const hasSeenAllEoses=this.eosesSeen.size===this.relaySet?.size();if(hasSeenAllEoses){this.emit("eose")}else{if(this.eoseTimeout){clearTimeout(this.eoseTimeout)}this.eoseTimeout=setTimeout(()=>{this.emit("eose")},500)}}};function dedup(event1,event2){if(event1.created_at>event2.created_at){return event1}return event2}var NDKNip07Signer=class{_userPromise;constructor(){if(!window.nostr){throw new Error("NIP-07 extension not available")}}async blockUntilReady(){const pubkey=await window.nostr?.getPublicKey();if(!pubkey){throw new Error("User rejected access")}return new NDKUser({hexpubkey:pubkey})}async user(){if(!this._userPromise){this._userPromise=this.blockUntilReady()}return this._userPromise}async sign(event){if(!window.nostr){throw new Error("NIP-07 extension not available")}const signedEvent=await window.nostr.signEvent(event);return signedEvent.sig}};function zapInvoiceFromEvent(event){const description=event.getMatchingTags("description")[0];const bolt11$1=event.getMatchingTags("bolt11")[0];let decodedInvoice;let zapRequest;if(!description||!bolt11$1||!bolt11$1[1]){return null}try{let zapRequestPayload=description[1];if(zapRequestPayload.startsWith("%")){zapRequestPayload=decodeURIComponent(zapRequestPayload)}if(zapRequestPayload===""){return null}zapRequest=JSON.parse(zapRequestPayload);decodedInvoice=bolt11.decode(bolt11$1[1])}catch(e){return null}const amountSection=decodedInvoice.sections.find(s=>s.name==="amount");if(!amountSection){return null}const amount=parseInt(amountSection.value)/1e3;if(!amount){return null}const content=zapRequest.content;const sender=zapRequest.pubkey;const recipientTag=event.getMatchingTags("p")[0];const recipient=recipientTag[1];const zappedEvent=event.getMatchingTags("e")[0];const zappedEventId=zappedEvent?zappedEvent[1]:void 0;const zapInvoice={id:event.id,zapper:event.pubkey,zappee:sender,zapped:recipient,zappedEvent:zappedEventId,amount:amount,comment:content};return zapInvoice}var NDK=class extends eventemitter3Exports{pool;signer;cacheAdapter;debug;constructor(opts={}){super();this.debug=opts.debug||browserExports("ndk");this.pool=new NDKPool(opts.explicitRelayUrls||[],this);this.signer=opts.signer;this.cacheAdapter=opts.cacheAdapter;this.debug("initialized",{relays:opts.explicitRelayUrls,signer:opts.signer?.constructor.name||"none",cacheAdapter:opts.cacheAdapter?.constructor.name||"none"})}async connect(timeoutMs){this.debug("Connecting to relays");return this.pool.connect(timeoutMs)}getUser(opts){const user=new NDKUser(opts);user.ndk=this;return user}subscribe(filter,opts){const subscription=new NDKSubscription(this,filter,opts);subscription.start();return subscription}async publish(event){const relaySet=calculateRelaySetFromEvent(this);return relaySet.publish(event)}async fetchEvent(filter,opts={}){return new Promise(resolve=>{const s=this.subscribe(filter,{...opts,closeOnEose:true});s.on("event",event=>{event.ndk=this;resolve(event)})})}async fetchEvents(filter,opts={}){return new Promise(resolve=>{const events=new Map;const relaySetSubscription=this.subscribe(filter,{...opts,closeOnEose:true});relaySetSubscription.on("event",event=>{const existingEvent=events.get(event.tagId());if(existingEvent){event=dedup(existingEvent,event)}event.ndk=this;events.set(event.tagId(),event)});relaySetSubscription.on("eose",()=>{resolve(new Set(events.values()))})})}async assertSigner(){if(!this.signer){this.emit("signerRequired");throw new Error("Signer required")}}};const log=new browserExports("nostr:adapter");const profilesLog=new browserExports("nostr:adapter:profiles");const writeLog=new browserExports("nostr:adapter:write");class NstrAdapter{relayStatus={};#pool=null;#messages={};#eventEmitter=new eventsExports;#handlers={};tags;referenceTags;type;#websiteOwnerPubkey;relayUrls=[];#profileRequestQueue=[];#requestedProfiles=[];#profileRequestTimer;#delayedSubscriptions={};#delayedSubscriptionTimeouts={};constructor(clientPubkey,{tags,referenceTags,type="DM",websiteOwnerPubkey,relays}={}){this.pubkey=clientPubkey;this.#websiteOwnerPubkey=websiteOwnerPubkey;this.relayUrls=relays;if(type){this.setChatConfiguration(type,tags,referenceTags)}}setChatConfiguration(type,tags,referenceTags){log("chatConfiguration",{type:type,tags:tags,referenceTags:referenceTags});this.type=type;this.tags=tags;this.referenceTags=referenceTags;if(this.#pool){this.#disconnect()}this.#connect();let filters=[];switch(this.type){case"DM":filters.push({kinds:[4],"#p":[this.pubkey,this.#websiteOwnerPubkey],authors:[this.pubkey,this.#websiteOwnerPubkey]});break;case"GLOBAL":if(this.tags&&this.tags.length>0){filters.push({kinds:[1],"#t":this.tags,limit:20})}if(this.referenceTags&&this.referenceTags.length>0){filters.push({kinds:[1],"#r":this.referenceTags,limit:20})}break}if(filters&&filters.length>0){this.subscribe(filters,e=>{this.#emitMessage(e)})}}async getPubKey(){return this.pubkey}on(event,callback){this.#eventEmitter.on(event,callback)}async send(message,{tagPubKeys,tags}={}){let event;if(!tags){tags=[]}if(this.type==="DM"){event=await this.sendKind4(message,{tagPubKeys:tagPubKeys,tags:tags})}else{event=await this.sendKind1(message,{tagPubKeys:tagPubKeys,tags:tags})}event.id=getEventHash(event);const signedEvent=await this.signEvent(event);this.#_publish(signedEvent);return event.id}async sendKind4(message,{tagPubKeys,tags}={}){let ciphertext=await this.encrypt(this.#websiteOwnerPubkey,message);let event={kind:4,pubkey:this.pubkey,created_at:Math.floor(Date.now()/1e3),content:ciphertext,tags:[["p",this.#websiteOwnerPubkey],...tags]};return event}async sendKind1(message,{tagPubKeys,tags}={}){if(!tags){tags=[]}if(this.tags){this.tags.forEach(t=>tags.push(["t",t]))}if(this.referenceTags){this.referenceTags.forEach(t=>tags.push(["r",t]))}let event={kind:1,created_at:Math.floor(Date.now()/1e3),tags:tags,content:message,pubkey:this.pubkey};if(tagPubKeys){for(let pubkey of tagPubKeys){if(pubkey){event.tags.push(["p",pubkey])}}}event.id=getEventHash(event);this.subscribeToEventAndResponses(event.id);return event}async#_publish(event){writeLog("publish",event);this.#pool.send(["EVENT",event])}async onEvent(event,messageCallback){this.#addProfileRequest(event.pubkey);messageCallback(event)}async delayedSubscribe(filters,family,timeout){this.#delayedSubscriptions[family]=this.#delayedSubscriptions[family]||[];this.#delayedSubscriptions[family].push(filters);if(!this.#delayedSubscriptionTimeouts[family]){this.#delayedSubscriptionTimeouts[family]=setTimeout(()=>{delete this.#delayedSubscriptionTimeouts[family];let filters=this.#delayedSubscriptions[family];delete this.#delayedSubscriptions[family];let groups=[];groups=filters.reduce((groups,filter,index)=>{if(index%10===0){groups.push([])}groups[groups.length-1].push(filter);return groups},groups);console.log(`turned ${filters.length} filters into ${groups.length} groups`);groups.forEach(filters=>{this.subscribe(filters,e=>{this.#emitMessage(e)})})},timeout)}}async subscribe(filters,messageCallback=null){if(!messageCallback){messageCallback=e=>{this.#emitMessage(e)}}return this.#_subscribe(filters,messageCallback)}async#_subscribe(filters,messageCallback){const subId=v4();this.#handlers[subId]=messageCallback;if(!Array.isArray(filters)){filters=[filters]}this.#pool.subscribe(subId,filters);this.#pool.on("event",(relay,recSubId,e)=>{this.onEvent(e,this.#handlers[recSubId])});return subId}async#emitMessage(event){if(this.#messages[event.id]){return}this.#messages[event.id]=true;if(event.kind===4){event.content=await this.decrypt(this.#websiteOwnerPubkey,event.content)}let deletedEvents=[];if(event.kind===5){deletedEvents=event.tags.filter(tag=>tag[0]==="e").map(tag=>tag[1])}let zap;if(event.kind===9735){const ndkEvent=new NDKEvent(null,event);zap=zapInvoiceFromEvent(ndkEvent);console.log(`received a zap invoice: ${zap}`,event)}switch(event.kind){case 1:this.#eventEmitter.emit("message",event);break;case 4:this.#eventEmitter.emit("message",event);break;case 5:this.#eventEmitter.emit("deleted",deletedEvents);break;case 7:this.#eventEmitter.emit("reaction",event);break;case 9735:this.#eventEmitter.emit("zap",zap);break;default:console.log("unknown event kind",event.kind,event)}}subscribeToEventAndResponses(eventId){this.subscribe([{ids:[eventId]},{"#e":[eventId]}],e=>{this.#emitMessage(e)})}subscribeToResponses(event){this.subscribe([{"#e":[event.id]}],e=>{this.#emitMessage(e);this.subscribeToResponses(e)})}#connect(){this.relayUrls.forEach(url=>{this.relayStatus[url]="disconnected"});this.#eventEmitter.emit("connectivity",this.relayStatus);this.#pool=new relayPool(this.relayUrls);this.#pool.on("open",relay=>{this.relayStatus[relay.url]="connected";this.#eventEmitter.emit("connectivity",this.relayStatus)});this.#pool.on("error",(relay,r,e)=>{this.relayStatus[relay.url]="error";this.#eventEmitter.emit("connectivity",this.relayStatus);console.log("error from relay",relay.url,r,e)});this.#pool.on("close",(relay,r)=>{this.relayStatus[relay.url]="closed";this.#eventEmitter.emit("connectivity",this.relayStatus);console.log("error from relay",relay.url,r)});this.#pool.on("notice",(relay,r)=>{console.log("notice",relay.url,r)})}#disconnect(){this.relayUrls.forEach(url=>{this.relayStatus[url]="disconnected"});this.#eventEmitter.emit("connectivity",this.relayStatus);this.#pool.close();this.#pool=null}reqProfile(pubkey){this.#addProfileRequest(pubkey)}#addProfileRequest(pubkey,event=null){if(this.#profileRequestQueue.includes(pubkey)){return}if(this.#requestedProfiles.includes(pubkey)){return}this.#profileRequestQueue.push(pubkey);this.#requestedProfiles.push(pubkey);if(!this.#profileRequestTimer){this.#profileRequestTimer=setTimeout(()=>{this.#profileRequestTimer=null;this.#requestProfiles()},500)}}async#requestProfiles(){if(this.#profileRequestQueue.length>0){profilesLog("requesting profiles",this.#profileRequestQueue);const subId=await this.subscribe({kinds:[0],authors:this.#profileRequestQueue},e=>{this.#processReceivedProfile(e)});profilesLog("subscribed to request",{subId:subId});this.#profileRequestQueue=[];setTimeout(()=>{profilesLog("unsubscribing from request",{subId:subId});this.#pool.unsubscribe(subId)},5e3)}}#processReceivedProfile(event){profilesLog("received profile",event);let profile;try{profile=JSON.parse(event.content)}catch(e){profilesLog("failed to parse profile",event);return}this.#eventEmitter.emit("profile",{pubkey:event.pubkey,profile:profile})}}class NstrAdapterNip07 extends NstrAdapter{constructor(pubkey,adapterConfig={}){super(pubkey,adapterConfig)}async signEvent(event){return await window.nostr.signEvent(event)}async encrypt(destPubkey,message){return await window.nostr.nip04.encrypt(destPubkey,message)}async decrypt(destPubkey,message){return await window.nostr.nip04.decrypt(destPubkey,message)}}function _regeneratorRuntime(){_regeneratorRuntime=function(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,defineProperty=Object.defineProperty||function(obj,key,desc){obj[key]=desc.value},$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return defineProperty(generator,"_invoke",{value:makeInvokeMethod(innerFn,self,context)}),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg)})})}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==typeof value&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke("throw",error,resolve,reject)})}reject(record.arg)}var previousPromise;defineProperty(this,"_invoke",{value:function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}function maybeInvokeDelegate(delegate,context){var methodName=context.method,method=delegate.iterator[methodName];if(undefined===method)return context.delegate=null,"throw"===methodName&&delegate.iterator.return&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method)||"return"!==methodName&&(context.method="throw",context.arg=new TypeError("The iterator does not provide a '"+methodName+"' method")),ContinueSentinel;var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i(Ephemeral Keys)`;attr(button0,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j");attr(button1,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j");attr(div,"class","flex flex-col gap-1 svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);append(div,t0);append(div,button0);append(div,t2);append(div,button1);if(!mounted){dispose=[listen(button0,"click",prevent_default(ctx[3])),listen(button1,"click",prevent_default(ctx[2]))];mounted=true}},p(ctx,dirty){},i:noop,o:noop,d(detaching){if(detaching)detach(div);if(if_block)if_block.d();mounted=false;run_all(dispose)}}}function create_if_block$5(ctx){let p;let t1;let div;let qr;let t2;let button;let current;let mounted;let dispose;qr=new QR({props:{text:ctx[0]}});return{c(){p=element("p");p.textContent="Scan this with your Nostr Connect (click to copy to clipboard)";t1=space();div=element("div");create_component(qr.$$.fragment);t2=space();button=element("button");button.textContent="Cancel";attr(p,"class","text-gray-600 mb-3 svelte-1x5ct6j");attr(div,"class","bg-white w-full p-3 svelte-1x5ct6j");attr(button,"class","bg-purple-900 hover:bg-purple-700 w-full p-2 rounded-xl text-center font-regular text-white svelte-1x5ct6j")},m(target,anchor){insert(target,p,anchor);insert(target,t1,anchor);insert(target,div,anchor);mount_component(qr,div,null);insert(target,t2,anchor);insert(target,button,anchor);current=true;if(!mounted){dispose=[listen(div,"click",prevent_default(ctx[4])),listen(button,"click",prevent_default(ctx[8]))];mounted=true}},p(ctx,dirty){const qr_changes={};if(dirty&1)qr_changes.text=ctx[0];qr.$set(qr_changes)},i(local){if(current)return;transition_in(qr.$$.fragment,local);current=true},o(local){transition_out(qr.$$.fragment,local);current=false},d(detaching){if(detaching)detach(p);if(detaching)detach(t1);if(detaching)detach(div);destroy_component(qr);if(detaching)detach(t2);if(detaching)detach(button);mounted=false;run_all(dispose)}}}function create_if_block_2$2(ctx){let button;let mounted;let dispose;return{c(){button=element("button");button.textContent="Browser Extension (NIP-07)";attr(button,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j")},m(target,anchor){insert(target,button,anchor);if(!mounted){dispose=listen(button,"click",prevent_default(ctx[1]));mounted=true}},p:noop,d(detaching){if(detaching)detach(button);mounted=false;dispose()}}}function create_fragment$5(ctx){let h1;let t1;let t2;let current_block_type_index;let if_block1;let if_block1_anchor;let current;const if_block_creators=[create_if_block$5,create_if_block_1$3];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[0])return 0;return 1}if(~(current_block_type_index=select_block_type(ctx))){if_block1=if_blocks[current_block_type_index]=create_if_block_1$3(ctx)}return{c(){h1=element("h1");h1.textContent="How would you like to connect?";t1=space();t2=space();if(if_block1)if_block1.c();if_block1_anchor=empty();attr(h1,"class","font-bold text-xl mb-3 svelte-1x5ct6j")},m(target,anchor){insert(target,h1,anchor);insert(target,t1,anchor);insert(target,t2,anchor);if(~current_block_type_index){if_blocks[current_block_type_index].m(target,anchor)}insert(target,if_block1_anchor,anchor);current=true},p(ctx,[dirty]){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block1){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block1=if_blocks[current_block_type_index];if(!if_block1){if_block1=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block1.c()}else{if_block1.p(ctx,dirty)}transition_in(if_block1,1);if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}else{if_block1=null}}},i(local){if(current)return;transition_in(if_block1);current=true},o(local){transition_out(if_block1);current=false},d(detaching){if(detaching)detach(h1);if(detaching)detach(t1);if(detaching)detach(t2);if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(if_block1_anchor)}}}function instance$5($$self,$$props,$$invalidate){let{websiteOwnerPubkey}=$$props;let{chatConfiguration}=$$props;let{relays}=$$props;let nip46URI;let adapterConfig;onMount(()=>{const type=localStorage.getItem("nostrichat-type");if(type==="nip07"){useNip07()}else if(type==="nip-46"){useNip46()}adapterConfig={type:chatConfiguration.chatType,tags:chatConfiguration.chatTags,referenceTags:chatConfiguration.chatReferenceTags,websiteOwnerPubkey:websiteOwnerPubkey,relays:relays}});function useNip07(){window.nostr.getPublicKey().then(pubkey=>{localStorage.setItem("nostrichat-type","nip07");chatAdapter.set(new NstrAdapterNip07(pubkey,adapterConfig))})}async function useDiscardableKeys(){chatAdapter.set(new NstrAdapterDiscadableKeys(adapterConfig))}async function useNip46(){let key=localStorage.getItem("nostrichat-nostr-connect-key");let publicKey=localStorage.getItem("nostrichat-nostr-connect-public-key");if(key){chatAdapter.set(new NstrAdapterNip46(publicKey,key,adapterConfig));return}key=generatePrivateKey();const connect=new Connect({secretKey:key,relay:"wss://nostr.vulpem.com"});connect.events.on("connect",connectedPubKey=>{localStorage.setItem("nostrichat-nostr-connect-key",key);localStorage.setItem("nostrichat-nostr-connect-public-key",connectedPubKey);localStorage.setItem("nostrichat-type","nip-46");console.log("connected to nostr connect relay");publicKey=connectedPubKey;chatAdapter.set(new NstrAdapterNip46(publicKey,key));$$invalidate(0,nip46URI=null)});connect.events.on("disconnect",()=>{console.log("disconnected from nostr connect relay")});await connect.init();let windowTitle,currentUrl,currentDomain;try{windowTitle=window.document.title||"Nostrichat";currentUrl=new URL(window.location.href);currentDomain=currentUrl.hostname}catch(e){currentUrl=window.location.href;currentDomain=currentUrl}const connectURI=new ConnectURI({target:getPublicKey(key),relay:"wss://nostr.vulpem.com",metadata:{name:windowTitle,description:"🔉🔉🔉",url:currentUrl}});$$invalidate(0,nip46URI=connectURI.toString())}function Nip46Copy(){navigator.clipboard.writeText(nip46URI)}const click_handler=()=>{$$invalidate(0,nip46URI=null)};$$self.$$set=$$props=>{if("websiteOwnerPubkey"in $$props)$$invalidate(5,websiteOwnerPubkey=$$props.websiteOwnerPubkey);if("chatConfiguration"in $$props)$$invalidate(6,chatConfiguration=$$props.chatConfiguration);if("relays"in $$props)$$invalidate(7,relays=$$props.relays)};return[nip46URI,useNip07,useDiscardableKeys,useNip46,Nip46Copy,websiteOwnerPubkey,chatConfiguration,relays,click_handler]}class KeyPrompt extends SvelteComponent{constructor(options){super();init(this,options,instance$5,create_fragment$5,safe_not_equal,{websiteOwnerPubkey:5,chatConfiguration:6,relays:7})}}var lib={};var client={};var errors={};var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(errors,"__esModule",{value:true});errors.InternalError=errors.InvalidDataError=errors.RoutingError=errors.UnsupportedMethodError=errors.ConnectionError=errors.RejectionError=errors.MissingProviderError=void 0;function fixError(error,newTarget,errorType){Object.setPrototypeOf(error,errorType.prototype);if(newTarget===errorType){error.name=newTarget.name;if(Error.captureStackTrace){Error.captureStackTrace(error,errorType)}else{var stack=new Error(error.message).stack;if(stack){error.stack=fixStack(stack,"new ".concat(newTarget.name))}}}}function fixStack(stack,functionName){if(!stack)return stack;if(!functionName)return stack;var exclusion=new RegExp("\\s+at\\s".concat(functionName,"\\s"));var lines=stack.split("\n");var resultLines=lines.filter(function(line){return!line.match(exclusion)});return resultLines.join("\n")}var MissingProviderError=function(_super){__extends(MissingProviderError,_super);function MissingProviderError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,MissingProviderError);return _this}return MissingProviderError}(Error);errors.MissingProviderError=MissingProviderError;var RejectionError=function(_super){__extends(RejectionError,_super);function RejectionError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,RejectionError);return _this}return RejectionError}(Error);errors.RejectionError=RejectionError;var ConnectionError=function(_super){__extends(ConnectionError,_super);function ConnectionError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,ConnectionError);return _this}return ConnectionError}(Error);errors.ConnectionError=ConnectionError;var UnsupportedMethodError=function(_super){__extends(UnsupportedMethodError,_super);function UnsupportedMethodError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,UnsupportedMethodError);return _this}return UnsupportedMethodError}(Error);errors.UnsupportedMethodError=UnsupportedMethodError;var RoutingError=function(_super){__extends(RoutingError,_super);function RoutingError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,RoutingError);return _this}return RoutingError}(Error);errors.RoutingError=RoutingError;var InvalidDataError=function(_super){__extends(InvalidDataError,_super);function InvalidDataError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,InvalidDataError);return _this}return InvalidDataError}(Error);errors.InvalidDataError=InvalidDataError;var InternalError=function(_super){__extends(InternalError,_super);function InternalError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,InternalError);return _this}return InternalError}(Error);errors.InternalError=InternalError;Object.defineProperty(client,"__esModule",{value:true});client.requestProvider=void 0;var errors_1=errors;function requestProvider(_){return new Promise(function(resolve,reject){if(typeof window==="undefined"){return reject(new Error("Must be called in a browser context"))}var webln=window.webln;if(!webln){return reject(new errors_1.MissingProviderError("Your browser has no WebLN provider"))}webln.enable().then(function(){return resolve(webln)}).catch(function(err){return reject(err)})})}client.requestProvider=requestProvider;var provider={};Object.defineProperty(provider,"__esModule",{value:true});(function(exports){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=commonjsGlobal&&commonjsGlobal.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(client,exports);__exportStar(provider,exports);__exportStar(errors,exports)})(lib);function create_else_block$4(ctx){let span;let t_value=(ctx[2]||ctx[1])+"";let t;return{c(){span=element("span");t=text(t_value);attr(span,"class","text-base text-white flex flex-col items-center")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&6&&t_value!==(t_value=(ctx[2]||ctx[1])+""))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_if_block$4(ctx){let span;let t;return{c(){span=element("span");t=text(ctx[0]);attr(span,"class","text-xl")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&1)set_data(t,ctx[0])},d(detaching){if(detaching)detach(span)}}}function create_fragment$4(ctx){let div;let mounted;let dispose;function select_block_type(ctx,dirty){if(!ctx[3])return create_if_block$4;return create_else_block$4}let current_block_type=select_block_type(ctx);let if_block=current_block_type(ctx);return{c(){div=element("div");if_block.c()},m(target,anchor){insert(target,div,anchor);if_block.m(div,null);if(!mounted){dispose=[listen(div,"mouseenter",ctx[7]),listen(div,"mouseleave",ctx[8]),listen(div,"click",prevent_default(ctx[4]))];mounted=true}},p(ctx,[dirty]){if(current_block_type===(current_block_type=select_block_type(ctx))&&if_block){if_block.p(ctx,dirty)}else{if_block.d(1);if_block=current_block_type(ctx);if(if_block){if_block.c();if_block.m(div,null)}}},i:noop,o:noop,d(detaching){if(detaching)detach(div);if_block.d();mounted=false;run_all(dispose)}}}function instance$4($$self,$$props,$$invalidate){let $zappingMessage;component_subscribe($$self,zappingMessage,$$value=>$$invalidate(9,$zappingMessage=$$value));let{icon,amount,amountDisplay,event,mobilePR}=$$props;let hover=false;async function zap(){const signer=new NDKNip07Signer;const ndk=new NDK({explicitRelayUrls:["wss://nos.lol","wss://relay.nostr.band","wss://relay.damus.io","wss://nostr.mom","wss://no.str.cr"]});ndk.signer=signer;await ndk.connect();let pr;try{const ndkEvent=new NDKEvent(ndk,event);pr=await ndkEvent.zap(amount*1e3)}catch(e){alert(e);return}let webln;try{webln=await lib.requestProvider()}catch(err){$$invalidate(5,mobilePR=pr);return}try{await webln.sendPayment(pr);set_store_value(zappingMessage,$zappingMessage=null,$zappingMessage)}catch(err){$$invalidate(5,mobilePR=pr)}}const mouseenter_handler=()=>$$invalidate(3,hover=true);const mouseleave_handler=()=>$$invalidate(3,hover=false);$$self.$$set=$$props=>{if("icon"in $$props)$$invalidate(0,icon=$$props.icon);if("amount"in $$props)$$invalidate(1,amount=$$props.amount);if("amountDisplay"in $$props)$$invalidate(2,amountDisplay=$$props.amountDisplay);if("event"in $$props)$$invalidate(6,event=$$props.event);if("mobilePR"in $$props)$$invalidate(5,mobilePR=$$props.mobilePR)};return[icon,amount,amountDisplay,hover,zap,mobilePR,event,mouseenter_handler,mouseleave_handler]}class ZapAmountButton extends SvelteComponent{constructor(options){super();init(this,options,instance$4,create_fragment$4,safe_not_equal,{icon:0,amount:1,amountDisplay:2,event:6,mobilePR:5})}}function get_each_context$1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[32]=list[i];return child_ctx}function create_else_block_2$1(ctx){let t;return{c(){t=text("Òő‘️")},m(target,anchor){insert(target,t,anchor)},p:noop,d(detaching){if(detaching)detach(t)}}}function create_if_block_4$1(ctx){let p;let t0;let span;let t1;return{c(){p=element("p");t0=text("Òő‘️\n ");span=element("span");t1=text(ctx[9]);attr(span,"class","text-orange-500 font-semibold svelte-1x5ct6j");attr(p,"class","flex flex-col items-center my-4 svelte-1x5ct6j")},m(target,anchor){insert(target,p,anchor);append(p,t0);append(p,span);append(span,t1)},p(ctx,dirty){if(dirty[0]&512)set_data(t1,ctx[9])},d(detaching){if(detaching)detach(p)}}}function create_if_block_2$1(ctx){let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block_3$1,create_else_block_1$1];const if_blocks=[];function select_block_type_1(ctx,dirty){if(ctx[8])return 0;return 1}current_block_type_index=select_block_type_1(ctx);if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);return{c(){if_block.c();if_block_anchor=empty()},m(target,anchor){if_blocks[current_block_type_index].m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type_1(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function create_else_block_1$1(ctx){let div6;let div0;let zapamountbutton0;let updating_mobilePR;let t0;let div1;let zapamountbutton1;let updating_mobilePR_1;let t1;let div2;let zapamountbutton2;let updating_mobilePR_2;let t2;let div3;let zapamountbutton3;let updating_mobilePR_3;let t3;let div4;let zapamountbutton4;let updating_mobilePR_4;let t4;let div5;let zapamountbutton5;let updating_mobilePR_5;let current;function zapamountbutton0_mobilePR_binding(value){ctx[20](value)}let zapamountbutton0_props={icon:"Γ°ΕΈβ€˜Β",amount:500,event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton0_props.mobilePR=ctx[8]}zapamountbutton0=new ZapAmountButton({props:zapamountbutton0_props});binding_callbacks.push(()=>bind(zapamountbutton0,"mobilePR",zapamountbutton0_mobilePR_binding));function zapamountbutton1_mobilePR_binding(value){ctx[21](value)}let zapamountbutton1_props={icon:"Γ°ΕΈΒ€β„’",amount:2500,amountDisplay:"2.5k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton1_props.mobilePR=ctx[8]}zapamountbutton1=new ZapAmountButton({props:zapamountbutton1_props});binding_callbacks.push(()=>bind(zapamountbutton1,"mobilePR",zapamountbutton1_mobilePR_binding));function zapamountbutton2_mobilePR_binding(value){ctx[22](value)}let zapamountbutton2_props={icon:"Γ°ΕΈβ„’Ε’",amount:5e3,amountDisplay:"5k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton2_props.mobilePR=ctx[8]}zapamountbutton2=new ZapAmountButton({props:zapamountbutton2_props});binding_callbacks.push(()=>bind(zapamountbutton2,"mobilePR",zapamountbutton2_mobilePR_binding));function zapamountbutton3_mobilePR_binding(value){ctx[23](value)}let zapamountbutton3_props={icon:"Γ°ΕΈΒ§Β‘",amount:1e4,amountDisplay:"10k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton3_props.mobilePR=ctx[8]}zapamountbutton3=new ZapAmountButton({props:zapamountbutton3_props});binding_callbacks.push(()=>bind(zapamountbutton3,"mobilePR",zapamountbutton3_mobilePR_binding));function zapamountbutton4_mobilePR_binding(value){ctx[24](value)}let zapamountbutton4_props={icon:"🀯",amount:1e5,amountDisplay:"100k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton4_props.mobilePR=ctx[8]}zapamountbutton4=new ZapAmountButton({props:zapamountbutton4_props});binding_callbacks.push(()=>bind(zapamountbutton4,"mobilePR",zapamountbutton4_mobilePR_binding));function zapamountbutton5_mobilePR_binding(value){ctx[25](value)}let zapamountbutton5_props={icon:"😎",amount:1e6,amountDisplay:"1M",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton5_props.mobilePR=ctx[8]}zapamountbutton5=new ZapAmountButton({props:zapamountbutton5_props});binding_callbacks.push(()=>bind(zapamountbutton5,"mobilePR",zapamountbutton5_mobilePR_binding));return{c(){div6=element("div");div0=element("div");create_component(zapamountbutton0.$$.fragment);t0=space();div1=element("div");create_component(zapamountbutton1.$$.fragment);t1=space();div2=element("div");create_component(zapamountbutton2.$$.fragment);t2=space();div3=element("div");create_component(zapamountbutton3.$$.fragment);t3=space();div4=element("div");create_component(zapamountbutton4.$$.fragment);t4=space();div5=element("div");create_component(zapamountbutton5.$$.fragment);attr(div0,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div1,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div2,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div3,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div4,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div5,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div6,"class","flex flex-row items-stretch justify-between w-full svelte-1x5ct6j")},m(target,anchor){insert(target,div6,anchor);append(div6,div0);mount_component(zapamountbutton0,div0,null);append(div6,t0);append(div6,div1);mount_component(zapamountbutton1,div1,null);append(div6,t1);append(div6,div2);mount_component(zapamountbutton2,div2,null);append(div6,t2);append(div6,div3);mount_component(zapamountbutton3,div3,null);append(div6,t3);append(div6,div4);mount_component(zapamountbutton4,div4,null);append(div6,t4);append(div6,div5);mount_component(zapamountbutton5,div5,null);current=true},p(ctx,dirty){const zapamountbutton0_changes={};if(dirty[0]&1)zapamountbutton0_changes.event=ctx[0];if(!updating_mobilePR&&dirty[0]&256){updating_mobilePR=true;zapamountbutton0_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR=false)}zapamountbutton0.$set(zapamountbutton0_changes);const zapamountbutton1_changes={};if(dirty[0]&1)zapamountbutton1_changes.event=ctx[0];if(!updating_mobilePR_1&&dirty[0]&256){updating_mobilePR_1=true;zapamountbutton1_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_1=false)}zapamountbutton1.$set(zapamountbutton1_changes);const zapamountbutton2_changes={};if(dirty[0]&1)zapamountbutton2_changes.event=ctx[0];if(!updating_mobilePR_2&&dirty[0]&256){updating_mobilePR_2=true;zapamountbutton2_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_2=false)}zapamountbutton2.$set(zapamountbutton2_changes);const zapamountbutton3_changes={};if(dirty[0]&1)zapamountbutton3_changes.event=ctx[0];if(!updating_mobilePR_3&&dirty[0]&256){updating_mobilePR_3=true;zapamountbutton3_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_3=false)}zapamountbutton3.$set(zapamountbutton3_changes);const zapamountbutton4_changes={};if(dirty[0]&1)zapamountbutton4_changes.event=ctx[0];if(!updating_mobilePR_4&&dirty[0]&256){updating_mobilePR_4=true;zapamountbutton4_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_4=false)}zapamountbutton4.$set(zapamountbutton4_changes);const zapamountbutton5_changes={};if(dirty[0]&1)zapamountbutton5_changes.event=ctx[0];if(!updating_mobilePR_5&&dirty[0]&256){updating_mobilePR_5=true;zapamountbutton5_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_5=false)}zapamountbutton5.$set(zapamountbutton5_changes)},i(local){if(current)return;transition_in(zapamountbutton0.$$.fragment,local);transition_in(zapamountbutton1.$$.fragment,local);transition_in(zapamountbutton2.$$.fragment,local);transition_in(zapamountbutton3.$$.fragment,local);transition_in(zapamountbutton4.$$.fragment,local);transition_in(zapamountbutton5.$$.fragment,local);current=true},o(local){transition_out(zapamountbutton0.$$.fragment,local);transition_out(zapamountbutton1.$$.fragment,local);transition_out(zapamountbutton2.$$.fragment,local);transition_out(zapamountbutton3.$$.fragment,local);transition_out(zapamountbutton4.$$.fragment,local);transition_out(zapamountbutton5.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div6);destroy_component(zapamountbutton0);destroy_component(zapamountbutton1);destroy_component(zapamountbutton2);destroy_component(zapamountbutton3);destroy_component(zapamountbutton4);destroy_component(zapamountbutton5)}}}function create_if_block_3$1(ctx){let div;let a;let t0;let a_href_value;let t1;let button;let mounted;let dispose;return{c(){div=element("div");a=element("a");t0=text("Open in wallet");t1=space();button=element("button");button.textContent="Cancel";attr(a,"href",a_href_value=`lightning:${ctx[8]}`);attr(a,"class","text-center w-full p-3 bg-black text-white rounded-t-xl svelte-1x5ct6j");attr(button,"class","bg-white rounder-b-xl p-3 svelte-1x5ct6j");attr(div,"class","flex flex-col gap-3 w-full svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);append(div,a);append(a,t0);append(div,t1);append(div,button);if(!mounted){dispose=listen(button,"click",ctx[19]);mounted=true}},p(ctx,dirty){if(dirty[0]&256&&a_href_value!==(a_href_value=`lightning:${ctx[8]}`)){attr(a,"href",a_href_value)}},i:noop,o:noop,d(detaching){if(detaching)detach(div);mounted=false;dispose()}}}function create_else_block$3(ctx){let div;let t;return{c(){div=element("div");t=text(ctx[10]);attr(div,"class","text-xs text-gray-400 svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);append(div,t)},p(ctx,dirty){if(dirty[0]&1024)set_data(t,ctx[10])},d(detaching){if(detaching)detach(div)}}}function create_if_block_1$2(ctx){let div;return{c(){div=element("div");div.textContent="Website owner";attr(div,"class","text-purple-500 text-xs svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor)},p:noop,d(detaching){if(detaching)detach(div)}}}function create_if_block$3(ctx){let div;let current;let each_value=ctx[1][ctx[0].id];let each_blocks=[];for(let i=0;itransition_out(each_blocks[i],1,1,()=>{each_blocks[i]=null});return{c(){div=element("div");for(let i=0;i0)return create_if_block_4$1;return create_else_block_2$1}let current_block_type=select_block_type(ctx);let if_block0=current_block_type(ctx);let if_block1=ctx[6]&&create_if_block_2$1(ctx);function select_block_type_2(ctx,dirty){if(ctx[13])return create_if_block_1$2;return create_else_block$3}let current_block_type_1=select_block_type_2(ctx);let if_block2=current_block_type_1(ctx);let if_block3=ctx[1][ctx[0].id].length>0&&create_if_block$3(ctx);return{c(){div8=element("div");div7=element("div");div1=element("div");a=element("a");img=element("img");t0=space();button=element("button");if_block0.c();t1=space();div0=element("div");if(if_block1)if_block1.c();t2=space();div6=element("div");div2=element("div");t3=space();div3=element("div");t4=text(t4_value);t5=space();div5=element("div");div4=element("div");span=element("span");span.textContent=`${ctx[14].toLocaleString()}`;t7=space();if_block2.c();t8=space();if(if_block3)if_block3.c();if_block3_anchor=empty();if(!src_url_equal(img.src,img_src_value=ctx[4]))attr(img,"src",img_src_value);attr(img,"class","block w-8 h-8 rounded-full "+(ctx[13]?"ring-purple-700 ring-4":"")+""+" svelte-1x5ct6j");attr(img,"alt","");attr(a,"href",a_href_value=`nostr:${ctx[5]}`);attr(a,"class","svelte-1x5ct6j");attr(button,"class",button_class_value="rounded-full "+(ctx[9]>0?"opacity-100 text-base":"bg-orange-500 opacity-10 text-xl")+" w-8 h-8 flex items-center justify-center hover:opacity-100"+" svelte-1x5ct6j");attr(div0,"class",div0_class_value=""+(ctx[6]?"w-full rounded-full bg-white drop-shadow-xl justify-between border-2 border-gray-200":" rounded-full w-8 h-8 justify-center")+" flex items-center absolute ml-5 mt-10 z-10"+" svelte-1x5ct6j");attr(div1,"class","min-w-fit flex flex-col gap-2 svelte-1x5ct6j");attr(div2,"class","flex flex-row justify-between text-center overflow-clip text-clip w-full svelte-1x5ct6j");attr(div3,"class",div3_class_value="max-h-64 text-base cursor-pointer border border-slate-200 "+(ctx[11]===ctx[0].id?"bg-purple-700 text-white":"bg-white text-gray-900 hover:bg-slate-100")+" p-4 py-2 overflow-auto rounded-2xl shadow-sm"+" svelte-1x5ct6j");attr(span,"class","py-2 svelte-1x5ct6j");attr(div4,"class","text-xs text-gray-400 text-ellipsis overflow-clip whitespace-nowrap svelte-1x5ct6j");attr(div5,"class","flex flex-row-reverse justify-between mt-1 overflow-clip items-center relative svelte-1x5ct6j");attr(div6,"class","w-full overflow-hidden svelte-1x5ct6j");attr(div7,"class","flex flex-row gap-3 svelte-1x5ct6j");attr(div8,"class","flex flex-col gap-4 p-2-lg mb-3 text-wrap relative svelte-1x5ct6j")},m(target,anchor){insert(target,div8,anchor);append(div8,div7);append(div7,div1);append(div1,a);append(a,img);append(div1,t0);append(div1,button);if_block0.m(button,null);append(div1,t1);append(div1,div0);if(if_block1)if_block1.m(div0,null);append(div7,t2);append(div7,div6);append(div6,div2);append(div6,t3);append(div6,div3);append(div3,t4);append(div6,t5);append(div6,div5);append(div5,div4);append(div4,span);append(div5,t7);if_block2.m(div5,null);insert(target,t8,anchor);if(if_block3)if_block3.m(target,anchor);insert(target,if_block3_anchor,anchor);current=true;if(!mounted){dispose=[listen(button,"click",prevent_default(ctx[18])),listen(div3,"click",prevent_default(ctx[26])),listen(div3,"keydown",prevent_default(ctx[27])),listen(div3,"keyup",prevent_default(ctx[28])),listen(div8,"mouseenter",ctx[29]),listen(div8,"mouseleave",ctx[30])];mounted=true}},p(ctx,dirty){if(!current||dirty[0]&16&&!src_url_equal(img.src,img_src_value=ctx[4])){attr(img,"src",img_src_value)}if(!current||dirty[0]&32&&a_href_value!==(a_href_value=`nostr:${ctx[5]}`)){attr(a,"href",a_href_value)}if(current_block_type===(current_block_type=select_block_type(ctx))&&if_block0){if_block0.p(ctx,dirty)}else{if_block0.d(1);if_block0=current_block_type(ctx);if(if_block0){if_block0.c();if_block0.m(button,null)}}if(!current||dirty[0]&512&&button_class_value!==(button_class_value="rounded-full "+(ctx[9]>0?"opacity-100 text-base":"bg-orange-500 opacity-10 text-xl")+" w-8 h-8 flex items-center justify-center hover:opacity-100"+" svelte-1x5ct6j")){attr(button,"class",button_class_value)}if(ctx[6]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&64){transition_in(if_block1,1)}}else{if_block1=create_if_block_2$1(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(div0,null)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}if(!current||dirty[0]&64&&div0_class_value!==(div0_class_value=""+(ctx[6]?"w-full rounded-full bg-white drop-shadow-xl justify-between border-2 border-gray-200":" rounded-full w-8 h-8 justify-center")+" flex items-center absolute ml-5 mt-10 z-10"+" svelte-1x5ct6j")){attr(div0,"class",div0_class_value)}if((!current||dirty[0]&1)&&t4_value!==(t4_value=ctx[0].content+""))set_data(t4,t4_value);if(!current||dirty[0]&2049&&div3_class_value!==(div3_class_value="max-h-64 text-base cursor-pointer border border-slate-200 "+(ctx[11]===ctx[0].id?"bg-purple-700 text-white":"bg-white text-gray-900 hover:bg-slate-100")+" p-4 py-2 overflow-auto rounded-2xl shadow-sm"+" svelte-1x5ct6j")){attr(div3,"class",div3_class_value)}if_block2.p(ctx,dirty);if(ctx[1][ctx[0].id].length>0){if(if_block3){if_block3.p(ctx,dirty);if(dirty[0]&3){transition_in(if_block3,1)}}else{if_block3=create_if_block$3(ctx);if_block3.c();transition_in(if_block3,1);if_block3.m(if_block3_anchor.parentNode,if_block3_anchor)}}else if(if_block3){group_outros();transition_out(if_block3,1,1,()=>{if_block3=null});check_outros()}},i(local){if(current)return;transition_in(if_block1);transition_in(if_block3);current=true},o(local){transition_out(if_block1);transition_out(if_block3);current=false},d(detaching){if(detaching)detach(div8);if_block0.d();if(if_block1)if_block1.d();if_block2.d();if(detaching)detach(t8);if(if_block3)if_block3.d(detaching);if(detaching)detach(if_block3_anchor);mounted=false;run_all(dispose)}}}function instance$3($$self,$$props,$$invalidate){let displayName;let $zapsPerMessage;let $chatAdapter;let $zappingMessage;let $chatData;let $selectedMessage;component_subscribe($$self,zapsPerMessage,$$value=>$$invalidate(16,$zapsPerMessage=$$value));component_subscribe($$self,chatAdapter,$$value=>$$invalidate(31,$chatAdapter=$$value));component_subscribe($$self,zappingMessage,$$value=>$$invalidate(3,$zappingMessage=$$value));component_subscribe($$self,chatData,$$value=>$$invalidate(17,$chatData=$$value));component_subscribe($$self,selectedMessage,$$value=>$$invalidate(11,$selectedMessage=$$value));let{event}=$$props;let{responses}=$$props;let{websiteOwnerPubkey}=$$props;let profiles={};let profilePicture;let npub;let zappingIt;let hovering;let mobilePR;let zappedAmount=0;function selectMessage(){if($selectedMessage===event.id){set_store_value(selectedMessage,$selectedMessage=null,$selectedMessage)}else{set_store_value(selectedMessage,$selectedMessage=event.id,$selectedMessage)}}onMount(()=>{$chatAdapter.delayedSubscribe({kinds:[1,9735],"#e":[event.id]},"responses",500)});const byWebsiteOwner=!!websiteOwnerPubkey===event.pubkey;$chatAdapter.on("zap",()=>{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)});afterUpdate(()=>{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)});let timestamp=new Date(event.created_at*1e3);const click_handler=()=>set_store_value(zappingMessage,$zappingMessage=$zappingMessage===event.id?null:event.id,$zappingMessage);const click_handler_1=()=>{set_store_value(zappingMessage,$zappingMessage=null,$zappingMessage)};function zapamountbutton0_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton1_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton2_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton3_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton4_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton5_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}const click_handler_2=()=>{selectMessage(event.id)};const keydown_handler=()=>{selectMessage(event.id)};const keyup_handler=()=>{selectMessage(event.id)};const mouseenter_handler=()=>$$invalidate(7,hovering=true);const mouseleave_handler=()=>$$invalidate(7,hovering=false);$$self.$$set=$$props=>{if("event"in $$props)$$invalidate(0,event=$$props.event);if("responses"in $$props)$$invalidate(1,responses=$$props.responses);if("websiteOwnerPubkey"in $$props)$$invalidate(2,websiteOwnerPubkey=$$props.websiteOwnerPubkey)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&131072){$$invalidate(15,profiles=$chatData.profiles)}if($$self.$$.dirty[0]&32769){$$invalidate(10,displayName=profiles[event.pubkey]&&profiles[event.pubkey].display_name||`[${event.pubkey.slice(0,6)}]`)}if($$self.$$.dirty[0]&9){$$invalidate(6,zappingIt=$zappingMessage===event.id)}if($$self.$$.dirty[0]&1){{try{$$invalidate(5,npub=nip19_exports.npubEncode(event.pubkey))}catch(e){$$invalidate(5,npub=event.pubkey)}}}if($$self.$$.dirty[0]&65537){{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)}}if($$self.$$.dirty[0]&32769){$$invalidate(4,profilePicture=profiles[event.pubkey]&&profiles[event.pubkey].picture||`https://robohash.org/${event.pubkey.slice(0,1)}.png?set=set1`)}};return[event,responses,websiteOwnerPubkey,$zappingMessage,profilePicture,npub,zappingIt,hovering,mobilePR,zappedAmount,displayName,$selectedMessage,selectMessage,byWebsiteOwner,timestamp,profiles,$zapsPerMessage,$chatData,click_handler,click_handler_1,zapamountbutton0_mobilePR_binding,zapamountbutton1_mobilePR_binding,zapamountbutton2_mobilePR_binding,zapamountbutton3_mobilePR_binding,zapamountbutton4_mobilePR_binding,zapamountbutton5_mobilePR_binding,click_handler_2,keydown_handler,keyup_handler,mouseenter_handler,mouseleave_handler]}class NostrNote extends SvelteComponent{constructor(options){super();init(this,options,instance$3,create_fragment$3,safe_not_equal,{event:0,responses:1,websiteOwnerPubkey:2},null,[-1,-1])}}function cubicInOut(t){return t<.5?4*t*t*t:.5*Math.pow(2*t-2,3)+1}var _={$(selector){if(typeof selector==="string"){return document.querySelector(selector)}return selector},extend(...args){return Object.assign(...args)},cumulativeOffset(element){let top=0;let left=0;do{top+=element.offsetTop||0;left+=element.offsetLeft||0;element=element.offsetParent}while(element);return{top:top,left:left}},directScroll(element){return element&&element!==document&&element!==document.body},scrollTop(element,value){let inSetter=value!==undefined;if(this.directScroll(element)){return inSetter?element.scrollTop=value:element.scrollTop}else{return inSetter?document.documentElement.scrollTop=document.body.scrollTop=value:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},scrollLeft(element,value){let inSetter=value!==undefined;if(this.directScroll(element)){return inSetter?element.scrollLeft=value:element.scrollLeft}else{return inSetter?document.documentElement.scrollLeft=document.body.scrollLeft=value:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0}}};const defaultOptions={container:"body",duration:500,delay:0,offset:0,easing:cubicInOut,onStart:noop,onDone:noop,onAborting:noop,scrollX:false,scrollY:true};const _scrollTo=options=>{let{offset,duration,delay,easing,x=0,y=0,scrollX,scrollY,onStart,onDone,container,onAborting,element}=options;if(typeof offset==="function"){offset=offset()}var cumulativeOffsetContainer=_.cumulativeOffset(container);var cumulativeOffsetTarget=element?_.cumulativeOffset(element):{top:y,left:x};var initialX=_.scrollLeft(container);var initialY=_.scrollTop(container);var targetX=cumulativeOffsetTarget.left-cumulativeOffsetContainer.left+offset;var targetY=cumulativeOffsetTarget.top-cumulativeOffsetContainer.top+offset;var diffX=targetX-initialX;var diffY=targetY-initialY;let scrolling=true;let started=false;let start_time=now$1()+delay;let end_time=start_time+duration;function scrollToTopLeft(element,top,left){if(scrollX)_.scrollLeft(element,left);if(scrollY)_.scrollTop(element,top)}function start(delayStart){if(!delayStart){started=true;onStart(element,{x:x,y:y})}}function tick(progress){scrollToTopLeft(container,initialY+diffY*progress,initialX+diffX*progress)}function stop(){scrolling=false}loop(now=>{if(!started&&now>=start_time){start(false)}if(started&&now>=end_time){tick(1);stop();onDone(element,{x:x,y:y})}if(!scrolling){onAborting(element,{x:x,y:y});return false}if(started){const p=now-start_time;const t=0+1*easing(p/duration);tick(t)}return true});start(delay);tick(0);return stop};const proceedOptions=options=>{let opts=_.extend({},defaultOptions,options);opts.container=_.$(opts.container);opts.element=_.$(opts.element);return opts};const scrollContainerHeight=containerElement=>{if(containerElement&&containerElement!==document&&containerElement!==document.body){return containerElement.scrollHeight-containerElement.offsetHeight}else{let body=document.body;let html=document.documentElement;return Math.max(body.scrollHeight,body.offsetHeight,html.clientHeight,html.scrollHeight,html.offsetHeight)}};const scrollToBottom=options=>{options=proceedOptions(options);return _scrollTo(_.extend(options,{element:null,y:scrollContainerHeight(options.container)}))};function get_each_context(ctx,list,i){const child_ctx=ctx.slice();child_ctx[25]=list[i];return child_ctx}function get_each_context_1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[28]=list[i];child_ctx[30]=i;return child_ctx}function create_if_block_5(ctx){let t;return{c(){t=text(ctx[7])},m(target,anchor){insert(target,t,anchor)},p(ctx,dirty){if(dirty&128)set_data(t,ctx[7])},d(detaching){if(detaching)detach(t)}}}function create_each_block_1(ctx){let span;let span_class_value;return{c(){span=element("span");attr(span,"class",span_class_value="inline-block rounded-full "+(ctx[5]>ctx[30]?"bg-green-500":"bg-gray-300")+" w-2 h-2"+" svelte-1x5ct6j")},m(target,anchor){insert(target,span,anchor)},p(ctx,dirty){if(dirty&32&&span_class_value!==(span_class_value="inline-block rounded-full "+(ctx[5]>ctx[30]?"bg-green-500":"bg-gray-300")+" w-2 h-2"+" svelte-1x5ct6j")){attr(span,"class",span_class_value)}},d(detaching){if(detaching)detach(span)}}}function create_if_block_3(ctx){let show_if;let if_block_anchor;function select_block_type(ctx,dirty){if(dirty&256)show_if=null;if(show_if==null)show_if=!!!ctx[9](ctx[8]);if(show_if)return create_if_block_4;return create_else_block_2}let current_block_type=select_block_type(ctx,-1);let if_block=current_block_type(ctx);return{c(){if_block.c();if_block_anchor=empty()},m(target,anchor){if_block.m(target,anchor);insert(target,if_block_anchor,anchor)},p(ctx,dirty){if(current_block_type===(current_block_type=select_block_type(ctx,dirty))&&if_block){if_block.p(ctx,dirty)}else{if_block.d(1);if_block=current_block_type(ctx);if(if_block){if_block.c();if_block.m(if_block_anchor.parentNode,if_block_anchor)}}},d(detaching){if_block.d(detaching);if(detaching)detach(if_block_anchor)}}}function create_else_block_2(ctx){let div1;let a;let t0;let div0;let span;let t1_value=ctx[9](ctx[8]).content+"";let t1;let mounted;let dispose;return{c(){div1=element("div");a=element("a");a.innerHTML=``;t0=space();div0=element("div");span=element("span");t1=text(t1_value);attr(a,"href","#");attr(a,"class","svelte-1x5ct6j");attr(span,"class","text-lg text-black overflow-hidden whitespace-nowrap text-ellipsis svelte-1x5ct6j");attr(div0,"class","flex flex-col ml-2 svelte-1x5ct6j");attr(div1,"class","flex flex-row mb-3 svelte-1x5ct6j")},m(target,anchor){insert(target,div1,anchor);append(div1,a);append(div1,t0);append(div1,div0);append(div0,span);append(span,t1);if(!mounted){dispose=listen(a,"click",prevent_default(ctx[12]));mounted=true}},p(ctx,dirty){if(dirty&256&&t1_value!==(t1_value=ctx[9](ctx[8]).content+""))set_data(t1,t1_value)},d(detaching){if(detaching)detach(div1);mounted=false;dispose()}}}function create_if_block_4(ctx){let h1;let t0;let t1;return{c(){h1=element("h1");t0=text("Couldn't find event with ID ");t1=text(ctx[8]);attr(h1,"class","svelte-1x5ct6j")},m(target,anchor){insert(target,h1,anchor);append(h1,t0);append(h1,t1)},p(ctx,dirty){if(dirty&256)set_data(t1,ctx[8])},d(detaching){if(detaching)detach(h1)}}}function create_else_block_1(ctx){let each_1_anchor;let current;let each_value=ctx[3];let each_blocks=[];for(let i=0;itransition_out(each_blocks[i],1,1,()=>{each_blocks[i]=null});return{c(){for(let i=0;i