@bestinslot/wallet-kit 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{balances-BobNsn2Y.js → balances-DhkM88IA.js} +2194 -2156
- package/dist/browser.js +2 -2
- package/dist/core.js +2 -2
- package/dist/node.js +2 -2
- package/dist/types/api/swap.d.ts +16 -4
- package/dist/types/core/bis_swap.d.ts +35 -6
- package/dist/types/core/sign-progress.d.ts +30 -0
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./register-browser-providers-BTO9Kyf2.js";
|
|
2
2
|
import { g as d, c as B, W as Q, a as h, b as C, d as E, e as b, f as p, h as m, s as u, i as f, j as D, k as M, l as I, m as k } from "./mint-Dm67SjcM.js";
|
|
3
3
|
import { o as L, v as P, n as X, r as _, p as $, q as AA, t as eA, w as tA, u as oA } from "./mint-Dm67SjcM.js";
|
|
4
|
-
import { s as x } from "./balances-
|
|
5
|
-
import { c as rA, b as aA, m as sA, a as nA } from "./balances-
|
|
4
|
+
import { s as x } from "./balances-DhkM88IA.js";
|
|
5
|
+
import { c as rA, b as aA, m as sA, a as nA } from "./balances-DhkM88IA.js";
|
|
6
6
|
const v = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#f90}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.z-10{z-index:10}.-m-2{margin:calc(var(--spacing)*-2)}.mx-auto{margin-inline:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.flex{display:flex}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.h-6{height:calc(var(--spacing)*6)}.h-9\\.75{height:calc(var(--spacing)*9.75)}.h-10{height:calc(var(--spacing)*10)}.max-h-\\[90vh\\]{max-height:90vh}.w-9{width:calc(var(--spacing)*9)}.w-24{width:calc(var(--spacing)*24)}.w-\\[92\\%\\]{width:92%}.w-auto{width:auto}.w-full{width:100%}.max-w-50{max-width:calc(var(--spacing)*50)}.max-w-sm{max-width:var(--container-sm)}.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--bis-cw-border)}.bg-black\\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--bis-cw-fg)}.text-muted-foreground{color:var(--bis-cw-muted-fg)}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.bg-background{background:var(--bis-cw-bg)}@media(hover:hover){.group-hover\\:text-foreground:is(:where(.group):hover *){color:var(--bis-cw-fg)}.hover\\:border-primary:hover{border-color:var(--color-primary)}.hover\\:bg-primary:hover{background-color:var(--color-primary)}.hover\\:text-foreground:hover{color:var(--bis-cw-fg)}.hover\\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\\:z-50{z-index:50}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}}}:host,:root{--bis-cw-primary:#f90;--bis-cw-dark-bg:#0a0a0a;--bis-cw-dark-fg:#fafaf9;--bis-cw-dark-muted-fg:#a3a3a3;--bis-cw-dark-border:#ffffff0f;--bis-cw-light-bg:#fff;--bis-cw-light-fg:#0a0a0a;--bis-cw-light-muted-fg:#737373;--bis-cw-light-border:#e5e5e5;--bis-cw-bg:var(--bis-cw-dark-bg);--bis-cw-fg:var(--bis-cw-dark-fg);--bis-cw-muted-fg:var(--bis-cw-dark-muted-fg);--bis-cw-border:var(--bis-cw-dark-border);--tw-border-style:solid;--tw-bg-opacity:1}@media(prefers-color-scheme:light){:host,:root{--bis-cw-bg:var(--bis-cw-light-bg);--bis-cw-fg:var(--bis-cw-light-fg);--bis-cw-muted-fg:var(--bis-cw-light-muted-fg);--bis-cw-border:var(--bis-cw-light-border)}}.bis-cw-theme-light{--bis-cw-bg:var(--bis-cw-light-bg);--bis-cw-fg:var(--bis-cw-light-fg);--bis-cw-muted-fg:var(--bis-cw-light-muted-fg);--bis-cw-border:var(--bis-cw-light-border)}.bis-cw-theme-dark{--bis-cw-bg:var(--bis-cw-dark-bg);--bis-cw-fg:var(--bis-cw-dark-fg);--bis-cw-muted-fg:var(--bis-cw-dark-muted-fg);--bis-cw-border:var(--bis-cw-dark-border)}.best-scrollbar{scrollbar-width:thin;scrollbar-color:#25252d transparent;overflow:auto}.best-scrollbar::-webkit-scrollbar{background:0 0;width:6px;height:6px}.best-scrollbar::-webkit-scrollbar-thumb{background:#fff;border:1px solid #0000;-webkit-border-radius:1ex;-webkit-box-shadow:0 1px 2px #000000bf}.best-scrollbar::-webkit-scrollbar-corner{background:0 0}.best-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:9999px}.fade-scale-enter-active,.fade-scale-leave-active{transition:opacity .35s,transform .35s}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(1)}.fade-scale-enter-to,.fade-scale-leave-from{opacity:1;transform:scale(1)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}', y = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAnCAYAAABnlOo2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALRSURBVHgBzZg/TypBFMXPCK2GykIb7Aha0Ngbv4CVnQXYaYOvstGwRBttHjTa+SfRShu/gHmvtiFKDCWN2hK1RPfNcR5xWXbZOyugJ9mw7Nzd+9uZe+/sjMIX5c7NLeifkj5aSCZ/qVqtiS9IIabcXC6Nt7cSXDff/UR1gkSiHBfMGkiDpNBub2jHRQ2TCn9yPDAxkBikG6qpbU9Vve5AKBGQOzu7gbGxkhgkCEwpR93enkaa9mv8CFiljjVIGoOQAEyFgpjMWcBwVMP7e0Hd39fQD+gjc9rt4yGC+Lz3Br76D8KAdfRpEd8hD5jSw+NYZc5wVSaQix+kMdhqZQXIZGS2a2vA+DhsZAe0uWmOoyNgcbG/7e4usL4OXF4C09MYPBAdsHcovnW1Ciwt9dqxjcCdtqkp818IJQPimwY5JySHxQ8zP99tR6idHUiUcCYnnUirhwczRBMTvW0d509PwPk5MDMTfH9RV5SXF0RJnmVRXU9nQQHcaBiYx0dIJI8hPnB52TgIUhjM6qoYxg6IYi/QQRiUVzc3xlYwTPGBOlDsqevrcBvGTAyYeEAUA9mfSV4xzi4urItiPCCmP4M7yhmruUX9iQfEwsjaI1UMKDkQiyOnjSAdHACHh8FtlpU6KbJiz3grsld7e8DZmTl/fg6GJlSlYpIhQrIeYkYxc/za2vqEoXjOa34x27a3IZEMiIXNW3/ooFAArq56bXnNO03Y1C7YTB1UZ5bf3492wIDmhGoxbdgDjUAcMgc/Qy19OGbVkcmk9Vd/SX/s5/EdUqqiY62sms1W97ps9GB/9PKroBqNZudC8Mo1m83ptTwXjDkMC4RL6ru7v/6G/mv7bDavb2SPpTEIuW5Tv2g+CEQENEAwE7D1ejXK0GrDSpcIs2MmByNIBa+vVQas5Ab7HTRZ4FuDxAaKBHPdE733WPZmzkiAusCSyd/6NBWWOTb6B4ysJPfkVwUnAAAAAElFTkSuQmCC", K = "data:image/png;base64,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", G = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAGsSURBVFiF7ZgxisJAGIVfFiUoESGNjWBhGxBR8QxCjpDeI3gRBc+ghZ0XSPAIqdJbaOFgiI1mtttqZ+bfdZiN7nxg9TLMF5l5ycQBwPFifPy1wG+w0qaw0qaw0qaw0qaoUS9cLBaIokiYr9drrFYrYd7r9bDb7VCv17/NT6cTwjBEURRKF7L0aDRCEATCfDgcSsd3Oh3lNY1GgyRNXh632+2p/H6/S/M8z8E57TXoJde0lTYFWdpxnKdynZClXdeV5mVZSnPGmDT3PI+8ER0QTy5BEGAwGAhzzjlms5nwH0/TFFmWCXuaMYb9fq+8+a/5dPzm8zmXkaaplnkAcG0bUbWmr9errqnevD2qhJU2hTZpVVW1Wi1dU9F7ejweYzKZCHPGGKbTqbBFsixDURTCnr5cLthsNng8HhQdWjdut1tpDy+XS+n4fr8vHc85577v6+1p1cu56hHcbreleZ7nVJV/vhFNYqVNQZZuNptP5bWa/ODveR75IEH+hJAkCbrdrjA/HA7S8cfjEXEcC3v6fD6TPh8AP3i4VIn3XtNVwkqbwkqbwkqb4iWlPwENJBb5gZq7aAAAAABJRU5ErkJggg==", Y = "data:image/png;base64,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", F = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAT2SURBVFiF7ZlPaBRXHMc/b2Z39t9EN7uG7i5sIAGLECV4qIg5VErSQ/Hg3luhlGJArVUItNBD6UmoHtoYWoQe7KFFEZKQ1bZIwRRMQdoivTWY5pY5tNU1bmadmd15PSS7JtmdZGa13Qr9HnaZ935v5sPv/d7v92aekFKyWdlsdgx4C3gREE0G/7wkMA98YRjGx5s7xXrobDY7DHwAvATE6AxwXRKoAD8BHxmG8X29owGdzWbfAT7pCJ4/nTYM41NYg85msy8DtzrL5EuHDcOYFZlMRgNmgYOdJvKhH4UQh1Vd198FXgfUThP50AtAWWQymd+Bvk7TBNCiwvMFDNCndJqgHT2X0KGgA6SUSCkRQjT+hfBfg2TjZ00ieAULDO04zoZr27aJRCJomkarLcE6NmxXYtVAUzZyR9Rg2L6hpZQ4jsOlS5fYs2dPo31hYYHR0VFM0yQej7cEF4BZlcRCgonhJH07Q1i11etf/3AYu1UirAj8TlhgT+/fv5/+/v7G9cDAAOl0mkKh0BJcAJWqRFMFX76WYqQ/iuWs9kfCAqWN3U3ghVipVJrahoaGmJqaIhKJYJpmI8brHtZUwVdHUoz0RblvupiOxHQkliOpVL1D6plBx+Pxlu2HDh1icnISTdMa4LYriYcFXx9JM9wXpVRxmxZdRBWBF6JvaCEElmUxOTnpabMevLyygkTw+Ug3r/RFKZkuyrpMIVkNj9/uV7FcfMczgMhkMr7nx3VdSqUSFy5c4OTJk552t2/fplAo4Ng2e3M7cF2JWZUMpMN89mqSmgvJmML1exXe/PYBUkIowJyruq5/6NdYCIGmaUxPT5NKpThw4EBLu97eXoaGhrh27RqLf67woKqyVK4REnBsb4KdMYUbC485duM+NRk85QWOaVVVSSaTnDlzhomJCU+7eqjsSESRdoVYWCEWFuyIqXxz7zFvXP8LCcRUQdClGMjTdSmKQiQSYXp6mu7ubk+P5/P5hsdXzAr5ZJSusODt7x5Qle0BQ8CY3qxarcbDhw85d+4cp06dIhRqnfbn5uYoFApYloWixVCERFPaA35qaCEEpVKJXbt2cffuXVKplKft3NwcR48e5bFloScSW5b87dT2Lk8IwaNHj+jp6WFmZmZLYFiN8ampKaKbClA7agu6DpxKpSgWiwwODvoa16oAtaPA0HXgdDpNsVhk3759gcZ7lfwgCgS93sMzMzNbAs/Pz3v2Pa3HA0FblkVPT8+2Hr58+TKDg4OMj4972tTBE4lE0x59O/nO01JKLMviypUrnnm5Dnz8+HHi8TjFYnHLPN7b20s+n+fq1atEo1Hf0IH205qmkcvltgQeHR2lq6uLcDhMKBTi7NmzCCE4ceJEyzG5XA5FCba0AllLKbFtu2Wf67qcP3++ASul9FXyve73zKABdF1vfSNFIZFIoKobP1StB7948WLTuEQbhSbw69bNmzfZvXt304Mcx2F5ebkJGp6Aj42NUS6XOXhw9bOhEII7d+54ln8vBS7j5XK5pWeklOi6jqqqnp6TUrK8vLwhhhVFQdf1QN5+qr1Hp/RcfmH6H/rfkgIsdhoioBYVYAIInuE7IxuYUIQQ48DPnabxqV+AcWVpackG3u80jU+9ZxiGrQAYhjELnO4w0HY6vcb5JHusHSwOAz8AJrT9svysJNc4ZoGR+sEnbDpmruu/fjb+Nx2M9cevd+7+AAAAAElFTkSuQmCC", U = "data:image/gif;base64,R0lGODlhYABgAOYAAAAAAIu1/of///+Ni/7Wif9paHuMaNeM//5st4j/if+M//9o9wkICBMPEBcXFVUpMFQsVf5q+RokHWl0VS8YKywWF//bjNRiYi9PVzAvLGFkmG00NZxRWvdmZVFrSjpaanSa1W03bk9NNnbY2TNSMahUqtRl0XaHZa5PT9JclBkqLUYdK424/nXXdVaaVlmfpDA3UBIPDoHt7X+SbOxr54Wt8tOuc7Bz0SYkHefCfepkqIo6OqmNXow+iulubvWFhDkdKoc6Y6BSlmgxUmhaO4X3hfNosOuBgfHLhPWE9HN/XDlnOsaB7dKH9ILvg9li1mKuYVtqk1ReV7mD5f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQBUACwAAAAAYABgAAAH/4BUgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc6vANHS0s+G09fXz9gOFSsPD0AV2ADL0zEPKD4+R+zqKDvi2cbTFRxHA/j5+gM/Fw8x04pJY7DDx76D+1BsYEAt1jhF0iqg+IGwYr4jHAK2GievkLQHBi2KxHchHrlU4xg0aMDwIZVoDCDcG/nDx4WbPijqQ2ES1bUMIUrcGDq0BIwGKYfMFOmvQoUYMbrtWDoARUNS0yiEuHGgq9evB25AcDBt6sgjGzgCqHBBX9poWP+jNYDAFazdrk1KUIj2YKkPDhd04vuxo6WEDIhxtFxhEOMOgCdBZS3B5K7lA0KQsr34QOUOwT7EMRCh5IRpJR5wRJv6jwHkyJ0Gwqh8+W6PaJvz7ZDWoC2+jAAyGBhO3ICSaCuCuIwNMwTt2nalcdj3YBoK3dE8FC/OMMZubJ+kOYd+N8RqwfiqS7uO7+2E7cQlrJ5GFram5uS/MhkKATnV3xGFNMB378FnQAartcTAW8wBAMFz0N0QwgoUONCdb/v4sAIABAn2lhIGGiDCamkt6MNVmURDQV3k6YXNDhb5gMIFVKkHooEjAoDCESjsOEA8m8DEYlf73QDhASUgBUD/fWuNhJCNIeaIIT7fBemgXSEwNJ5XMERDgggXOnnQhgCEaAAJ0Uw5wAUtpQjAimDd0FIDJXjFBEMOnIAmABugJ+YAZN4IH4IACIhPaHBdIk0Pdt0mnlc3eOkBbob+OWA0UoRIaKU/vGWfJCoOGUIIQGRVV6QAiEAojJbqA5wIIaoGwH8DcACZoleGBUOX41CwqwbR5MgArX9alWqIZDGAEKKfQiKNUHsBENUDG+xg7QYrPDXOdH/aBNxP2hU3AV8VkWmJiv2ttcGMHRTgrrsdXLDDCi1RKuYFHJjkGlT1kkBCgTmyehCDlPAm7QYXtPvuwvBewJM0G4i5QTwNrDAE/wccoIAxqZA5kMEEhKqZD3CV0MOBwgynDO9jfBKLD1p4PsCBDjogYPPNCBihQxBAIGXhWpXmc0Gik0SEwrsO79Ajyil3YCufFn1HQQ8142y1zUakEIJJD/h5EYqPSBPD0QVcMHEM+6Kj8soARXwQBwwBkYIRV9dtsw4cdAbACi4PALYjHwHWQVox4ICYfBK92+MF7zrdNlVHiCM3zjrTTLfdCKQwBEMbuPx3IzBJzpMDHpwwnBKq7eBuSQA8sHAH37n9GwMOcHCzDilwEMQGQwQxN+Yp6N0nQp8zEs3PDKwQQwamE+dB8u4CxwDjjb/l9hHVbVC1Dj30DFUMcwlh9f/lNgfPQIcZFr9INBNzWAEDJGw3AQNARA8T9Y0Lz6O0HPQghBGZYYDhVCUfCqTgZrk7IALVo6ahNQt0DFBI8qoDK3ExoAKre4rrUuaPNFkFCJtrQA8gMJrSGOAESkBQEO4GhBgAoWrl20vXdkK0SACgAfGaUVrCRZwJRAVpM1rbBUrlFAAMoVQAAAIQSLedEUHAZkJoye9uJoS9DK89NXTWBha2mwr28Idr42A8YlBF3DjAAYIazvMoAEWGMGCKCBQHSAZwhGgVLYJcPJa4wBhGhrGsApoD3xBigMbtrJGFMYEhzjiAlK6x7oHrAwL+ClCY+Fmwfn1kGOsekAIdCCH/BVHMQBoNcMjycUCBVzNCEBjylzbZsHVMQ8HymsinTGryKUEgXwpoN8oJcANzV9PBQrqRRcARhGGjE9QM0KQ6W8LLVhUQHwIbUEhx/RKYVksBEosJurFpEggM4OEMEEQ2Z15gQ5OLYzWJI4UkYnN86eKm8RpQznelxYtKcM0kM3lOBuQSZ9qMwSjR9MR34myV6oMIW1JmFVEOZwmt22cf+2k7nOmgPzwcDppWaFAE1qtoC9Wka96jBAl405mrUx4KxjcEPRInAwyQZkczVy9IJkJa9bQnAEhwAgQ9gGm23EEDDHg1Wzl0OCfgBio7usvzyRMiJ0XmUzzggKiiNC1E/81mBRxQIAPMbwVLNeguK4BEUBEEqGWrDtqaiVJ3YTWsmWth6YxDAgYMgXxMpd8QyAKqvUm0ALKEZVvhtaGsWm2VDiVCDAw7U7ghzFw2pKfKOpCtv2YSOICsmxDO6IEUGhGvBjXCIIOwMyW9cosqw9hgC9ABnqhkbHUzAgkNd0G4vlObDbCd+Z5qjWjEAK2rhdcGoDIvu4IWivFgbEdVyYAHbC8IpgWddILLwc5UYAfn3JttdbC5GPxzpjbjSQNkmjMObNN4HwEuSuUlDol0oLWEXKlmKcBJ8N7tfXcdn+Y+etOIWHay700aWSqAMKRVx7l1w5ttgYk3xUBgwQAE585TzZHTML7jGy08GAqAapXMxta+mhPHg4GZtRBEt7e+rfBk1YObdQHXKv60bypREAR6NWADC7bazoCEYpyut0fs6iPs9nZcBqfgyCgYwgpYEgMI/G+mACSTfejxX+q+KyMOKLLdNIfhrXIjOXBcLgroNWX/WvmyS9JyMIfAZNoB4QGfVCR4o8wAj3zkJnjOs573zGc974YCah6fEIIQBP91UsZbfoCdfeuURjv60ZCO9KMbiehKYzMFi1aLpjd9DX/S7NOgDrWoR03qUo86EAAh+QQJBQBUACwAAAAAYABgAAAH/4BUgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGtwDJysrHjsvPz82H0A44IiIPGTgM0NKCzw88NjY55Tk2PBMZ3MvNyg5EOQTz9PXzOUQV7cTLRDb2AO3ZIOKAmTBlDCYgCciQHhIeBZMFU7biX8OL82yIMNhLWQZ5GEPayMBRl0eLIUXGkMgr2QOQGHOkE5FBxA5xAHmw25XMAcqLPFawQwiEx0J6OTYCMAkgBo+UEKG9e1qPx8qlyJIROUoAnwMRP21ExOFByQklHkgCwGEDyQQHG/94qMWVLMPPCcq20lNS94SBv39PqJ2gM9k1lrWUUaWnFoBdekonAJ6MFwARpQAcVM6aAeBQn4yTTR6dbAWOZTxKxkrGYDG908mAoFQ7ejK3r+9sPEAsqzRMepUtcz3NoDZgCcn4Gnar2lUypwHdZtBLr6AD43/VolsRr2vj3o5/2+NaPTN2A7DlkY+KFZbWlPVWXscOOzqR5qqU/Ux5+3xBBgwhAZt7jsFXjz7FYWddQ+w5l8wEBkKWHHa3NYTEfbylwppr8GEomXGlXYSEUq3Etl9KlUlhXGVEYGTDVaBIhZhh4kFlmHFKcRgQhu1pglADFQTZwFB5RUjPi44Zdxr/aC7q0+MlysTwAAcXVFklBxs4mZyRGa2Q2QQnhBnmWwCsUCNAF+InCWsbXHDEDwPEKecRPmygDIQRIoHESD1J4KcEGUjBDXUYWZXhJKVdIOeijP5wgZcAKGEgD0Rww0AMQWYaw1DdiTSgJYnK+cMRRzC6qA9AJKMjQAMVFMMKG+yAwqy07rDCVSKQF+BclSRTgaIDpMDBAys80Cacpj7a1KpHksTAClR20EEB1FbbwQUcOJkBs/VACmoMHMB5wUoxlMsAAxuUGueocPqwGwAnZsQNECj4UO29+BbQAQqQ4rnroY88h8MO7jrmwQQeiOAAAxysa2vDA/igjwgB2bDN/wMo5KvxvRdswA23OfCKaJRZajbZRg/EeQE3MfgQJwr6tFiPxQA8cAG11+6wQawoTLtxx+cyS/OTAS/DQAUMZDDaBK+qzJrLA/zAQQwfVYXpzQXA/IyUWOPss747cOOv1QA34qs+MQDBAAlLvyruShWoG7WdZtJTwasboHCB2l9dk8HCG/h8wQ47fN3BuzoGR0kyea+gMwAqUoZpqT88zOi48M5TaQMrAbFDDDh8+JegK9zcgZ0xZFytsq3VM2LZZgMAbOUMLLG0A3GbyigKK5GzjpNpJ+0XYEpIUEHGFzgZOMfv+pvDu702gOwAHDAgwu0VQK37unTbUAFcBQFp/f/wfymRwfEF7A0AAzvkqz4AVA29OAAbLFq90pQ5AMT02w+QPNWYQsEGHEAs643GfOjrwA4qQC+NaS0DC0ES0ZzBABTYj2rkM4CgUta/RdnJJdKq0gZi4IEDnk916ftavrQmgnNEZHG/WlTyHKCEyUiBfh081VU4cC+PiSCDCEThxu6Fgo/JD1ErkFvE7lZCwGwEYjmME+q6VgAfAvGEQ8xXB7xkFxIh6gFKHICdrnecGAAritSrmQrD9sPJKAEH6MsivlBQkAxMYCdr2gH/BoACxwwPL0AIYwc3Vbh7TY0EGXxL6eSIL2VVgAOpmiAjALADU/mAARKooQFIwL49drD/KULMmgMkIDoNMsBmjLzX4ZKBgw9KUhGU1J2XrucBTGkPjQD4VSOBEAMy/kUE6FIhI1epKldGgn6erF7oSKJHNMoJAECgIrUesDbiraN9qbTWbhoAABHw4FMBA6MlvbSN3DkzTmWSZgE+hwNNegB36pTj4U7ZO6bBbhrZMxXtcnnGc6ZzhUi7XvGCmc3VBUlrPEjKPQ0BgAb0U07J6+Q5nxlN91EzA0oAZhwLWgAONKB0HvuIDdQ0jVjqbgMruKUzL8BPLcLsKxmIQZs4qi9qFg5mVSMBSRm6gu35QKVo9IGXGhBKanVsfeiKpxyLWNELPCAGChHLQgnRFEFOdFFH//AYN5eHr30VpKI0fVQMCpm1GGhGoa9kqOyu6lOPVWAH0IznoxpA1oKe7lldU59TDJVWqgLAgmzFqrKieQQvFZVaWFLqEBV4tTmmigjZmuo3TBpYR43wlMCC60zdp9if7QBIRd2XPs4nWSoko5IT/YEPBvcAfbxVblPbKE1V6VRM1VWVMNtUaZMBRWfybn0N8BxQhXJbmuZMH2AdYm13OohkPDSKTo3VBYAap92gcrY5u5WUDuu+z0o2l56M4pvCK6dLJleeF5iVzu72LCrZFZJ4RMRpA+vMo3WWiOw9VwWmJMxsDs5JiWjoc+mrO/v6l1jGktV95cmvspXJqgRmlEGBs3ktac12Y/vyliEkGuH+eem6Fw6xRblhiBh22MP066+IRexUEhNCpoSLsYxnTOMa01gfsLKxjnfMYx5TkzeBAAAh+QQJBQBUACwAAAAAYABgAAAH/4BUgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJyqwAzc4Ay4rP09PRhNQAEhkSEjHYy9QkLlAt5eVQSxLVyM8SHk4J8fLzCU7pz8XtHi30/fJFLTw4cDbsWYYWRfwpjFcESgaCwJzFWJJwocUELZZA7CXRRcWLAMt9ZEhio65nHi9iJMGNWwYX/OS1eNiMV7MYLlQ6KYmNgYePLdRBOwnAJ9AW8OYV4QnAQYYMOBg4y4kRnclazkgkxehyawIozRhImaCk7ASaEpBmcOBA6tBbN/+3OqEJgCLJZlIM6N1roCROpm5xTZ0X1JmEpE7U4VDCd68IqfeowQVwkLDQbIgVM25sQIpUls8CY20KhV7hZiQqFl7M2cCEgaCbaas5OnU/F2FLxyuc4URrJQNfunXh4dsrZzHpFSEOBai63q1PqEsLxUNzKAONMwOgQqVlyr45A6ecPEERjQAoQKDglnaqwd53Pw/feLxW026FmBACoQE+VM1UJo8LTxVIlUzzGSBCSy3dtEQ/xQGwQgQR0FACBP+V4sxPVoUVgwPeyAYFPIVJIIIzDMRQwYoNhMjAEsnZ08wQNFAYwRMQiEaKgxEykAERE/Ag5AQiZLeER5cBUMH/AzugcMGTF3CwARDe+BTTaUPYWGEP/r0liocB8pADEgRYYAEBBORgwwZSZZAATTFscMERPwxg550/+LBDBbLFBFYzWlIoRJc7OoMDD0icieaiaJ5pw4k3PYBCnXdWiucFO3jjQEwRThioENmN4kwGNijK6Kll5vBQDDtcUOkPlFpq5xGZkgeQOhWUECgNPVzFyag2MGqmmagSwEMMMTzgww8I6BDlDhxcsKysA9DqDQkIuSAVECYEGgEF7nkSVqloImEDDxMEmQOqKwAAhKsD+DBlDCkuOamldVoLALZLhaUrhTRYSOgnzRAxbA5EZAdADCvwwCgPbUma5w4M+PjU/0DvXnrvEWwCUNqf7j4RQQ8QhIBjuL9WgG6wRBSVgQgLNkUuAS2n6AAHHFQwUVlKTCABA0NQygGVKNh5wQM+IuRWDEKU4FYIPej461NK8sCAAx7sdUJJRKBpAw7PAAGEj/QZ4AEDQPgwwA8PNLPCEUa3mxZTIbTbDAVCgOulJkU9wCcAbEK319kiJMpDWM2syAAJjb1GgdpHtC0h3GtfUIFPuDWznjMOlAAEypkoyQHYPoLH19kZGA5AA0hLqHPWfDmu9g+1bvBqpqW7rXd6JYQA+iXNFJ6zCEQwIELjMaRu7OQctLpCDBM07oDKszavdqXy0usMEL5rHkEJv1tSlP/D5uYwAQDHx548mS3vYGeeSMO+12sVwPs+tUc/Q0HvQEDQLQ2+qkTBhKUE9JVtAutDwuqKNqv4Sa9+1JIVCtpDARPQ4Ak1otDn9iZAyqxrURYooOD0gsAM5OBEK7hetZCWvvk54HERxJfk0tOtQHUvdE1xmLAON8LOGE9VgIsVxxbXmLOlMIaW4kCXgCCyQDktfJBoxgTItEPKbEYvZyMCEjLAAA7czkdX9KGykFipI9htBU3U0hM2iAkA4CBRp7IAEtgSPccAYIoZgCCeUBADHNRRLyXZQKzI+AMOeAON3opA9zgYxTuaSlgO1IsSHoKoPNrPaJfLy1646D4yYu//cxDIYKB6BcVGKClYxbJAy1r4GgbkQAloU6Gd5IU+vjigAQz05Ps2sLp/jVJqkWjGAz6IKgscSwJ27FrLbIcvFJhOQQAYoy7vxIFm+FJLJRjYJApGxWLaYGzRA04MHLZMWf3gAg2QQDhxEIN7TdNomhOljUoQKkoEr5uoQsIEfATNwtEsmoN8X7uO95i0vfNOF3BGGuepzW2KgJjF+loMSNBHVMLyiBK8XJEYkMuDOvNuNbRR1ErJCDeislhoatn4FrVFPVrKB22rmCAPeidetkVCPdASKRn5iPE9Mo42kMoGurnFGHjRnBRz1yXf6QOdbSBEEhIChRYJPIOhtFEi/yCVqbbIgB0EdJZAqEBH30k7Bihrhs5QD0lNadWrGlOHLG3ZAyiHryDsgK4HhWkXC+mNtUgGeCL46VVPZQMlyRJ7S50mXyugNh+0yzoCyZAAJyDYwbJ0YWOlqTlzJlaE8glG54Gq+MZZWcumFACd1Cy1fJAzVtGVVg14EUIcItmeog+fpj3V4ZipWnxtoC0bOKy82lSEIjjhbAGUhklLm9vDraC3l9qTkma62b8toTQzSS4imqGE3A7Wuar9wRGexacGbAAFh33V0UKUkxYwxREBwq13QQhemhZyBTpbnaTwGkM9jS15SHlvSR3AA+Y29yG8JeuegPAADkzroEdAwaXfJNAhng6Cm/MtFhJO1E7VjvcIdOrtOX9LGSgIeLsEzrCGW5Yx6Lp4lkHoq4mTe08V5xPBX32xZgvJpxGd+Bp3tDGqJHpUHb84e9g6zSGaUWAhM+p8LjWyiy8ABAdcB5hUaIp8VYyEZeZYyvbtmDbaUwjKOJlRNngIB2DF5ja7+c1wjrOc45wzbHgJcGde1OEAt4M++/nPgA60oAdNaEE/AKp/DQQAIfkECQUAVAAsAAAAAGAAYAAAB/+AVIKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9CxANPU1QDRgtba1dDVDQ4qMDAqKhIO1svWKh8vLyMy8DIjLx8wDNzH1RLuMgL+/wBlvMCAjxg1B1H6AVzIcMSHc9eEVYPxgqFFhgIhMto2jdXEERdDLnwhoeMhjhxPUWPwQaQ/eSNiKhypwuQgawxiNKjAs0KDewVHTWM506LAeuRgsCvq7wVQKtooDAnCQUiKqymEcBiyogG6UNQ+MF0IAgbEag4wgFz4YdsDqzr/EMidO9fI1SBeg26iBuOfzIUjgMZwIMEcUAcKZY4oOa3BkBR0I0uWqyMIBaAROU1TAVJg4Zb/ZBAEkMGDkhMnJkhhLJakA7FtAVAQMrm2ZB1DMGsG0KCigBcQGawVAKIkDiUGkiufcI4iYwAxSw6xTZ1uZb2Wpon1F6ValH/AAZBQTv5EBgASPmAWC2Ma5OrwhcSglmmag+Gxp31vek8EefLnOWBPWALE9h51OmR1lRGSGRHEfJlVQs1+/FHj22/9/aecCAAwYNaEv7lnWworrECBTzwBEURc1kFgk4ToDSeAaNNkANAL0/inoQEcAvBBbCr0IwNQcyWYQhDVDOYA/2YAVECbdRBmpx1TDkUhY3cMeLCjAVLcI1YUHww3WhBkukgNDiJMwMOaE4iAAzUNQGaEEELg9qIk00ggo0hYSrFllz5aFJ42OExgAxIEEGBBokjYwAFQ0+HVAAQp5AUjaC750xYDfu7Y44U3ThMDYw5wgMSiiaaaqAUW2EDEfBTkBUAQD9z5iIWZ/rNppxpyyACoTXVYmnE8nKrqsasiwZw1QwxBH54AOJAreBl6Gi2wwGXZAhQd2qAqq6wiyygPFVQzBAdRQkthruGNtyMJ14bKgAtFJNChEqg2ysMEah4qLgE8vDmNVeVG6MhQwLpUHGknaGgeeiAANM0S9boAgP8IObCqbAWYFYroquECPA0QcdVqcCOb7enSCDVl0PB/SpQUpK7oQZFAAhnEoGaxPAgrggjnMYCvojaouSgSG/AmF5InbwQABmOJJENNEiD33wT3YABQewwwsAQUDjiQQU4TrJAleR4wkEGqQdvAqg1vQpbCswfrNy1ABDEwgYYeTHMhSdRIcF4GK0yzQgUOWJ2cEmFnnANQQyvLwApyWXprvHdzl6OG50H3D5ailsSByTiMqrgBjDPgOFA8oJpDzhwgkHTTidiXcKYy5KnhPdK+1NYSnQMQQw48ALHCqxnA/GbGFkxQgQjGJtozBDoI8VTdnGX+T00A7K2cEtqB1+H/tn13n6gNxMfgMnlKLH/0oagyes5VFNhaOwAzax8iaeTBC8CFNSFBvZYAgBXkIFUW4IHYTtc+AGTsX4pKGgXsRLuT4C9qmRoB17RkgGVlTwAjAAAOWuAEAuLAW6pS4HHY5z4IJvAeCGBaBQuxGQxmyikiRE6PtkOSGEChCNwy37FsUIGqkYc5w4ufuF4HAA48yn4W/KD+aESamMUIhCVZghMSUBISfExVcHOA95LDHCBE719IIEIBhWA5p+lJf6GBSOe0FiIJbLEF0XIbspAgAk6hTW1K/BfWVpCCgtXNAbe7WxSY5Bvh2QxnACDCF4/FgYuRh0NECKS4eBCDFeig/34zJASu4Og7aqhAU6TZIs5iwIN/JZBhypEAA1oJwVQp0JOgvBwMbJgrDfrNHzCIgQtu1rcKoBBZFkBC2Lw3gQIesJbnwwEuoWjB+5CSWh+EgQRaQEzSTBJZtfKPefT2zX/BjZCGrFugrqkpTMEgA6rsGw6eKa4Ehs0AacvAMaF5y0JS04KeY+eM/vFOVeLshLVE2sUkwEpoprCTbPynIagBNYFubZs3WyUtIcjJexDBoarCmoqup85fWZSgGL3ZeSRZSyYCYZ/QzEGtKmCySOgjkfoL5iNvdrFyfksJFdgoSBUIgBSk63KmVBkc7eGBevHUgNC0gRJ8isYeOSuU1f/sHAyUqr32NDWjpKEnBKlaz541RqIWhNpotipQrzoVj9ADqVwJALeuYcdpLfHl03jpEpLMq15QkOUE5upQC+QAk0QgKSR+CUKIqGWpJckANxPQN30StpasUuM8D4tWC/6NeyrAKUPoISrJ3oxbs9TkZVOVAzXqU2OdgxaoXtCeaIWpr93pEAlcMNkEEDCuqz3W2xKLg422KraLBcC6QBi8DLwAg9qskQuc4FTfihCml30fB95kTGTZYHZYvck6aXKQML1jRi+oSQyW0ILq3qwFgiXrUEUgyyYRQY/CTeNRFxE+izjkLGJjR2xIAAWDZpSypMEuYZXlgAqswFBkTSaSujq7mZAchUn28QB1D3zgvikhuMfKgQ3QJ99k8UCxiKAG7gbCvQzslMOnjdYDQYzA7CphPvylBlcZQhDTwvjA3FobjYecTDVW0BqipZmPf5zRkmRyyFAm4pHRIo4qW7nKXewtk3kaAwVDmbAWqCTtUELmlG4ZrAj9Mo1bhWKokJkjDnjxme31ALGqebVIKFhEAgEAIfkECQUAVAAsAAAAAGAAYAAAB/+AVIKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9CvANPU1dGC1dnaAM/VDA4q4eESDtrL1Q4wUS8gNQE1NSBRUTDl1JnZqt4w7QH+/wDjfcgnaZs5UtQYYAABsKHDdx8k3HNksCK3UNQcRHnIsSEIFRMTaWNQ4cGGHSg3bHhQgcFBThk1uOtIMwCIDCENZauwAcWFDh0KCBXa4QKKHStc5sRETcXMmjVBwJiGKCEQFEOzas16geXSSk0ZQh0Lwp7OaSs4BN3KViuKDdb/LIUd+0/evH4No+Sk9uBC279aO+yIS2mag6dRP9hL+EGsvxpTqVKrgBWw5awoKlAtDKDBRrIgDarQAFBDg52VLws1ipKDT7eaL0aihgGxzQ8yA0YGkEGE7wxKJfgD8SFiNcqqV7OMMY1BjAo71gpFcVr2o2kqHPuLYu/z9tMSJhgYP14JjmlRyjaf7HerdMwWK7QvIFgpJGreH2PIOLPGQAYikCegB9MUp00DqQ3VAQc9vZeZYST4JkIGzAHwAH1v7RDbfQA45VFo04jlHwAxiCfgeBOUo8JuCbG1g0sxJDgYbyaOd8IELjFwAQfMMfDAV1UBwEB+j7HY31Qlnlie/0QSsBjafKvFBsAKQ12wAok1GnDCjThZKGUFZjUyDQy2+TMQdv9ABoADSiipJU4SfKCURmi5VSGJKO2wQY8kRHiCFBlksJg2cFknkpBE1jWVBC+kORWbbhpAwppR7KfRR0JywNWdFn2TowQZ9EmCBEoBMKOhh2CnnUN4Fblmm25O6kCjeHE3TWod/DhNAyp88EINMsjwgq0ASOABFC0koGwCRUDhAXDObaZIgXQp+qqbJ8C56ogWZjUYAzC8MIIMApQrgLAOOLAEFMu2q2wRLXggkbRBArAqVJhCqmS2xd5bgz0brMbcB+OaWy66DrjghLsMJ+CEC+fRe5YK1Tp6rf+SSmj70AvlyHfBmi8YfG6wLxTLbhFOQKEyskU03MKkqBKCXsX6rZkleeZ1eC9ELq0Qw6zkljvCC8UpFoMHLbewBDkxgIq0y13W2yjNAfzngZspdljmYyB+ELQAI6hQ3TQ4KOzEEgwwIAEOpDLgQssOt9BCy1DMm6rOVAegFwABKokjADDQBIJLsxI9AgikZiAFEfMCQIILa9cohQMSJFuEBz9DUUSzYcoMQG15R3Fa3ycSCMAHNZXjazkYyEnCCQZgnhEJDogww3gzZBsDu07AvMTCZ0tMDep5c8wb7Cd2uTNA0wxr2FRXS7om4Tg4IMXt5FGoee/TPJ1ACxIVgl//3jaBJAGsAuYIVbFDYwdSm0qQ6sESMfTpwM0kxPB2sxJIwO6yLmCO54ZEvgDsBwDRI88J0EQTvcBgBCPAgAqi8L7Y8UZuyKLdzUSgv5albG7tagFOPKeRAmpgGhkoHbVoAoMhkUsGEFQBA5RgnqPBLQFLuN+JROC2GzLsctIyzNTIZw/0GQAnDFjeO/aDga+BDSQToB8JkvUuD+hQQBx8W8OW1YKIYQNkBazaNEiXtex0BARrAoHIRjCV/PnPXZjzAPa0lD8tbpFZS9jMrhJVMcTZbDwwIx5HQBIFkZ1rP9+wIwBjYDsFZqBydwSgHhEVxhpEwSU4UEIZl4cprxlS/wb/+R3D6pZCnLGNipGEgku+CAA+VkxNvBHBCh8yEBWMwJDnGggkGSZCCSAvdjHIwMIiyazwfZFMYbSJUpSixIF8AJe5BIAoGda7GZJHlh4YJjEnNQjDKLFal6RG4DiCRgc40WCgZMD/fkigvtVwncTMYzdnlswaHJABQ2TV6aCZy13+0AUOyKSkGEACbRKTQCRM5nBAkgElovGZ0ARlBnzoLhEeLUUOgOdBrTM8hQaAY64cDj75KVGKussFDGAbA7JJzHZxc5798mh6BAeAkEVUMQbl5bwygMqWJuClMEVmPaOyz5uqM5JFQFtGTXpHJ5RDfMPbmkfr0iGSDsQFxP+sm/d8mgAoCE9I9JzqQ8p5TnOBEoFMXdYHuaqsl9ELP4QLqUfJelO0EnNzbHWCB+wzTwZYMq5SLWA80Hi6sh5sP1tla1MB+lWKcWtIgaVapQyDgVt+kmjf0Khi3QUvtC1lTK7qzAciSxcYwOA06XiBYSPogLQtIa2b7SpwMpBDQ4H2McSaFWnJec9eWVZkMKzHmtYF27zGq7U8BZ9teROQKMzLAY3p45mgKy5oEq0cElhXTmPLrHglzgPJckLU5kkxj3RpTRj4FVSEqxDV8tN46oKCE4rr03iNargt0KYL3romjlCwVNDVAAja8ZR4gMQBlTWs0FobgyWAkLvtuly4a5324GUVYYTzjMEZ6ZENcMCgOBqYLODcy09MZUC+EKamBx6X3+0qCwpPZWVkLXnabTTAJYz6LTRHIBEH03ezTpgvMYPnOdKMRQMfgIEKFgNdHe/YOYpMcYpF6DlB0gVTHSIxP8EmgQ5K+ct49Nw4qxUagm3ZXDwGQJTBDGEoDFAccI6zOBYDLtPa+c54FhJW2QzmFnjOIoAOdEKmyWcpO+HPgk60QRiwBA84+tGQjrSkJ03pSk86EAAh+QQJBQBUACwAAAAAYABgAAAH/4BUgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc6vANHS0s+G09fXz9gOFSsPD0AV2ADL0zEPKD4+R+zqKDvi2cbTFRxHA/j5+gM/Fw8x04pJY7DDx76D+1BsYEAt1jhF0iqg+IGwYr4jHAK2GievkLQHBi2KxHchHrlU4xg0aMDwIZVoDCDcG/nDx4WbPijqQ2ES1bUMIUrcGDq0BIwGKYfMFOmvQoUYMbrtWDoARUNS0yiEuHGgq9evB25AcDDtAVWERzZwBFDhgj610f+wRmsAgSvYu12blAiBlK3bAT44XNCJ78eOlhIyKMbRcoVBjDsAngSVtQQTvJjzlqAQrcK6Byp3EPYhjoEIJSdSK/GAI9rUfwwkT+40EMblzLjDQpAGF0CDvwMyAshgoLhxA0qirQjikjbMELdz42ayYhyKfDuieTh+nGGM7Ng+SYMuvfwNFdiu44M7gbtxCa6nkZ2t6Xl5r0yI3phy9wbniCENAF577hmQgWstMQCXcwBAEF1uN4SwAgUONEABDFuBFcJAouUDlxIFGiCCa2op6MNVmURDgV3SbcYRBSV8xcR8F1D1QDQgFjgiACgcgUKPA8SzCUwsdpXfDQ8eUEL/Xw4klgEOkjkQYxM3lPBBNAHicyMAObq3I3D4gDdkg3eFwBB5XsEQDQkTnGDcBAc2yEQPSP23wj7VAWAcCSR0SUI0YA5wQUuCxEWJikWG1VIDMRrJkANucjcBWSv2Jc2d+uQpwabRNLlpnFkKalJzjUjTw109TBOCVzesGeKBDaR6TQUzHXHBQA6ooKsK80kT4AVWAcBAYjAUm4EELdGXCKJ3aaAqq9GIEOKfAFw5kGsDHJGnAxhEAUIN4ILwwgdqRhMESUAA4AAMUbwwggwyjDCCuBjMVyqZ/Q10alclRBvijhtKAwFnnpX2wbcBJKxwwjVEgV4MHAQJgAruyiDA/8UYXyzDCxkwtIg0iXoFAQMxRecsANIWOEE0H4TgQExiTaMCCAvXvDAIGLTkwAcjZOxzxiNEAZ+yg6iYGRNCCFFkvyiHmFy1eikdVl8z22w1wxiwbDHG8ML7swAyOEz0S9Hse98Bsm6ncjSraqguzVdfjd4HW4P9AgbFfvBC3Vw7jEinIeeWdogelH2XsFEoDEIUeGNwcA02gzDxuxaPoGZsMTCUQc9cv/vC33Ke3ZWsUoRIhOFfCTEx3C+gJ2w0EkQBucI1qMBAu46PkDUOUkwwgQit8XzxCB/wLMMhMJl9NtMpexmNEGCpKQG7IKCXgQcTePCnBC8oTO6wdwv7Qv+TBBY3gQQUC0A8yXQjD4AEgUMYDXE6RtNomtJI8IEDOERqwAwj+kDCTgYAGFQvGjBgQAb8hxwcOOAF6stZAUfgPiAk6T6we5WwinSDl3WqYyQ4zgykUK2EWataMlDTuobDwBNk4IHq+wD7jmcNfImuK2RxQIFOQKkibQgGOTxQ6Y7jAQZgIGFRkAYELVc8Fh7HhQ+E190wAAIBuE95oitXgTwAEAd5JVUMWJwKoqCm8pnPiAxDDwy2ZrEkLvCJL9ybxrbmvvvdMGBmLM6OlMeyAICrBlnL4wTQGIAkwjBjbmxhHPl2sTre0CtMo59xXOib+22oagy7kiAZAIOE2Y7/bj57gRMnGcevuS9+0pkCehxgRiW0ZkVd2ZAENLCwGlyJCNwpIgZsicKfjUCBXWog90xZQ1Tmhgm7adqbGAKDrkxBTbKr2ZWap8dqXUkCnPOZDBzAyuOcb2bE9AgANPBISCIFB13aY1dalYHZLSwKChThgZIIAAh+TQAZiIHaiiOFGJAgmxlzX9vKeYBkpuwEDGlAE7qiru5FTgLdNE7HkggDgPoMniEszgn+JLyfVfCCy4NJewDWFdXBwJ21VIE+J8nNl9nznuOTpCsZIEeP1pBRBI3l/FzpG7uo6QMopZ0M91k4GKDPoj4bAa9yxEUYvNRn7gsdQaeQLnWx7TZH/0nc1ST3RhfeTgWbu6fGpmmAEziwpjatIQPs+MgS9EpKaWqAVq1WA262h4szU8EaxXqx8eHgd5xEKsZAN5yc6jQaFozrXK2WtT4Fr3YV5SvYEnisKIo1qtEgp2GrascELvahDGhNJ2unAsFeFCagvGwNXwfLnJ6HAg9S0y7jxksA4IBmtTskX0cAn7Dy1X0USCaaCKqBga6zgEGtWRS4qdXa3Y6RX/tA+iQr0BtU1biGhdZJ4+ZHGAA1jc+VrPrQqlpCgExJLWFrTkPgMgZ8l7svwG3DuPlUsXpNvDUEglcCBlfDCqFcDogmdxmGM17tzLTivac4AWA2JphJWMO9T/9+/rMubw04XGQUlgQwQN4E49e8G5RRwACQofsIIZncEjB3azAu+DBABXpDsIcVDOLW4ufBAKCAZnMjBKRwC2EDDgDOXIwDb8l4xl+jYdEKyJ+7lKCqw9HADRYKlim0Sl0HC7Ifo2CtnbkLyWC2mzi9iJcIWUorJWjyAZ4pLHYl12bgkiGW9wbdMO/2AxIYM0g1U65OBVfK/8lykMUYG6ce2c7aBAEQHaBn6UQICMmSBsW0LOSEOrXOiP5ZvEZwN25yWJwwUDOEehACKAt6wCDA88SicOhMb4xcvHqx8MQJBFFLpwm74eSbbSZdYXEY05nWpgwZwK2KNRLEDACCspdIzexmK5sz7gWBtKdNbWpnbWIdDrZ9Of1lqIJ4LeCG3a7GTW4VDE1/L0i3utfN7na7+93wXveCw03vegurpfjOt773ze9+8zsQACH5BAkFAFQALAAAAABgAGAAAAf/gFSCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExca3AMnKyseOy8/PzYfQDjgiIg8ZOAzQ0oLPDzw2NjnlOTY8Exncy83KDkQ5BPP09fM5RBXtxMtENvYA7dkg4oCZMGUMJiAJyJAeEh4FkwVTtuJfw4vzbIgw2EtZBnkYQ9rIwFGXR4shRcaQyCvZA5AYc6QTkUHEDnEAebDblcwByos8VrBDCITHQno5NgIwCSAGj5QQob17Wo/HyqXIkhE5SgCfAxE/bUTE4UHJCSUeSALAYQPJBAcb/3ioxZUsw88JyrbSU1L3hIG/f0+onaAz2TWWtZRRpae2aYYVkPUBcCBBAuC/eAEQUTo5c9YMAKWKNjzhb7IVOJbxKBkrGYPFBGxkVkYBCIQQISBAAHI1WQwSSrh9fWfjAWJZp2GukAyAQYgSJp7QSEKdxhMTJSA0eKeMr2G3rF35ppqjMRAhSRSoX89+fZIeFIYCQLciXtfGyAF8JDBhRTIKPTzR3oADPtFDaslMQABXBESFFSxaEUAERSYQaOGAJqhwGkBITHgcK8polEwDIVxoYns0QPCdPUggCKF+SjXQQ3on1qjAEyoCIEJOEYnnmzLo2SikCRFx6OGDqjzDgP8QQqqXBHY9hNADdDSuVwI3+9WDhFKtPBNClTWaEEJEtIVQ4XopJgiQDVeBqAwQZ9poAgWjUVACeyVspyBAR36DpCjLMBCne9n1QAN7T9A5mQgeTOABCQg6kF52ISj60zzBjfZnJ8uUOKAQ2wHQA3ug6lfaZYIlEyWZhi0m2zsqfCArDCoMBQpFAqKYIwANuBdCc1JcBpgHI4oWA2Q2SKZCFCCAUMOzNYDwwge2csrrnQUCscyhCiShYgynXjYbBRBocMMUU9xQQqVDLVtDAPDGKy8IGOzESTIQgImmf8rQmKYDSgjrwUoqhHBDEwckrPABN6jIAAwgyCuxvDVE0aP/JspgS2APb6KpogPhGjDBSkAcvPDJNxQE8cQsx2vxh5UkA4SJNFQKQZw0+AcwYHg5d/LPB3CswrvwRtss0S1HoeGmkrimsYVPgpnzZAEbMDADEDAB9MmTaeAyBiqEjUEUSEtcMTeYyJxrkzdqu7MBJABAwQ0KM6FBlELQnfCvKwfwMgOAT/YB0s/KiwHMkLjGJNvqPaGtBH4RC4AGCTMRQqg9haA1DJM58IEGEsQgwgmkD+xAFEXDcHq8NXDOtDNyr82241Rb3RwEPdgNeE00cSPEAa4DIMEHDWRw2QwbfQBvFMkM7fJ2MQMAAePufVya5M31wPnogYnwcA8NsOOA/4ZLHC8FABjA+0FPEaeOeCPJPM12Er8yECxn0jvw9l9K6K/tBxpSAec8IKwJMCB9fuMGDCQGArQ1LRncop4COMYAAvIqIpzDQdX4JwH2TSsKhwuZyA5YtCh84AVmW9oDVyDB9QiBGzSRnhAcQIFfZWCDBlBCahiAugA8K4QFJCHrWMa81yUiYy1UD5FoU4IDTIEJJdCPX3hWkMGxbn0EFNfDWjYvDUViRIOiXqKUEQKEJewGUrxM3FTQvqKtjwgCA4DyuFi0w30RAECQnQRzBAStKQyNGuTZSnoor/WJQFjJo6PLGHBHCESwhf6x08mYILwNJnJiUWBABqZogBmQhP+QdASBA+7oqSQqYAUN+N3JmtAAkAFmMm3soisBkwEHoFCRAQCBChKnKlMqAFQw8OPJhJJFkmCgbKyDQQUBExw24tKHu3yEbxbXQvoBoIlA4xgJ/iIBHnKReYf8y0ZggMyWtY6XDpAf49BIAWGerAQxMJ4BJNAAUDIwjSfAQQO89swaYACd6mQbGiGwNYbFJ2D0tCfFuklA72WgnOaEAUBN+b+CMkFFh0woHZmXAQ84gAG37Gc04TeigDZpoAU9QAmqoYQOzrFlumRAFZ8ZLxBIAHZk1JdA8ZhSJigzAyshJxdrsD79xBKXmSTpMigQxp1mIKUqXYZQuWhTZ9I0l5z/Y8QzFDWqFqK0p4oCwFTNOTaIftOBR1yqEMDYQm1RDqqhOp1ZazpXltWgg0akwlYr1ANuMJVxtAPCFLZ2g4b1pG9X7WdR87qMBmArTXIzKYGeEElsnmwKY2reCeuaWIpRq5tGXOrTcNQTQ9UoBNqS5M8qpVlndfaq1DpdB9OKx6YqAALsAJAJHumryWjuZ4Z9mEJfG8r1sVGXr6ONbRVAAyGE1QG4K8ETqvQrBwjBjH/8FQDcRdyrRkGZKkBh65J7rROJST40tI1uuobdMxaEAR84anep+oGCZKB9452GqnRKoCQIAQgU6I0yHAvcZEggpPOdGLRAAMKPchdeyNXvi1+b9CQh5AbAySgjyj6KAfkmeHkfgIHqABcr19bUi4bAVxKts1YHDHZhqgMA2T5s14gwYHjMKqcomdYTIPj4x0AOspB93GMgb2dZNKaqBpxV10xuSlNQjjJCxhaFKLzgyljOspa3zOUuV/nLYH6B61Is5TKPpgFo1p+a18zmNrv5zfpDs5zn/NGlBAIAIfkECQUAVAAsAAAAAGAAYAAAB/+AVIKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycqsAM3OAMuKz9PT0YTUABIZEhIx2MvUJC5QLeXlUEsS1cjPEh5OCfHy8wlO6c/F7R4t9P3yRS08OHA27FmGFkX8KYxXBEoGgsCcxViScKHFBC2WQOwl0UXFiwDLfWRIYqOuZx4vYiTBjVsGF/zktXjYjFezGC5UOimJjYGHjy3UQTsJwCfQFvDmFeEJwEGGDDgYOMuJEZ3JWs5IJMXocmsCKM0YSJmgpOwEmhKQZnDgQOrQWzf/tzqhCYAiyWZSDOjda6AkTqZucU2dF9SZhKRO1OFQwnevCKn3qMEFcJCw0GyIFTNubECKVJbPAmNtCoVe4WYkKhZezNnAhIFrv41O3c9F2NLxCmc4wZlEBrfYJL9yFpNeERceoABVt5uvh8vOGMRgOzC4q2YqVFqmzFuJh2cNgIToYSKC+fMmSvSAQAH4W1SDtedmfkLJZQohStA4z79/BBNCQNAAPvBRVpx2up1QHQAQlOffg/zRUAIEBJbizE/yzZeNNwBQUAKEIPr3BASikXITbhkWAV2DIbYYYQ8DvhdKM4dlKA9dEDzh4o7nCRGjiXXZqCGDPD64H4RCVDdK/zMoyjdTMyvoWKR56oVgZQ/69UdDD1dxQpyQQlHgYJETxugMBSz2R0FNFWZyk5AtNNPAmFrSYGcJJQQXVnQfmkeDCSHoKSMlNNoIhToN9AAhDSFAEMIQYVEAxApAUGCmUzg0A4SO68XYAAyONgqEmZeglmFhDIRwpH9cnpmfCU/Q8IQJJvQARDMO4PBQDEKU4BZ+N0zBRBNNMMHEDSEsWEkzHmRoG4Or9vfErQwAoZ8C2Gar7YRSuTXEmjhowMQB5JZrLhMC1jQJs/I9S4GUD5bQQAMhPKHtvdpuueYzK9xg7r/mNiHEvusC0KxKLnjTQJ8PmlABACEkge/E2CZRwv++HfoL8MbklqCCupA0s4ROGjGgKIjNQHCvnRJTjK0Ja2ag8QFNTHHDDeNyfMANNEVi6kUaQQuiEAAAYULFN6zn6LUU39CeBuQ2cQMEGVBAwQoazAzwxSA30kwGKjlDp38rmCzxlgsCQK+9E3PpYRMHcF1UtxBonTO5GnTNiDNe9UNTCCFy2QAEQwDYgAMkeOCBCAOp+jIEPdCgAJcxVHsDDACQwNgJzzEA9QHopno3hSE3Q5U/h6o9dn+tNtOowXxNwICYCiRBIQNCTP5Msg7wtpcUDI4rb8blljBQ6SQodBoE0bL6TKUAbLaXBHMq8MS+IcD8DAYMZDADX0oEf4D/EFJJMDO6eksDQAxNyvOsySHSMAQDFAKwAgUOSK9XBgsrQMMKRVEPg241OMo0JnwwmMLO1gSBu8XteI5wRmXo4QwHMOxBkDLaECBHAQlwhn8leNkKxqO2EiBLCIESwQEBkECaobAE/5pCz7yWlX6caXX8KaH//tQADzYmAzEIIbbsdKsG0uwAKWzMCYqmQJrBDWCBGlQiUPIRugChefwBYMSyBbPe/ZABQqxdoPplLi6RQInE09nOBvSIZ8TgHV+5zBUhVIIK0I6L+PPdXkCYrUAt7F9Ey0BjJmA/B3LsVm0MTQac8B1nzPFBXOrBvWDGAP0ZQAIVOBq2XPfE4gEA/wff28t3INBJnQUqkQ5YQnW00ZRbiSleRZGctp4AwAnw5QSz06QJxPevGzggBo3RSAhKyTFfSfEQX3OCQ55HIQvCEgj4SkIIGKDCvRByBbJcwR8BxoRa8oV/QlBjuZx2TEOILCFPakYPuAQ//+QpBBOTlyAdAzGJ+QgITfxXEwLlgb2cQAIO0JrOyElD9smkGRSQ0ECY559m5A5fXbSlAU7AR931QGfka44BPBADIBiSYwTdWzZikjr40YCAFzQPpB56L9v5RC8eqJa9aAkAGBaTLbakKAAuKk5yhVR9BkvINlJ2pFatwJ07pVggT6BTSYoRAOHkWBNIpMKYOuCjxf9k4yJoBBCh0Ctaf4tWnlZAMRq0ZQIi6JAsdRcCNd7gkwIxWU/LVb+trg8KHqAJBU7GH66ZbFV5asBa7xWotTiApWxVIxOAwICFYnVjN9DqFEXGlBWktEcDcgBf8wQATUJ0TalqGba41FY1tspDcyVXFO36DM22iHwpcxBpKSZN+7GtYoESKMCmwFibztV46bvGNCy7oxDEaK8SqsAVKXYxz2IrUBR4bBlLO1f0EQwR06gXjyS0rwasoAf4C+PKxKuAQMm1p8ZK7QE0UC0YlfNMQpiSn4wbGqe6DFvI6pAQiKleqbqtBFPAHHYRetntlmAIZtrifYlWrRLwt7/chNG3YeF2SmR2qMBTklAPFjpYfPmIfrqFMDenibsnysvCzpRviKDlMnaKS8Q6O5YGJNA93+5MAuZ0HRZV3KN6uqwoIZBuf49VghCsyQEhEKjTcuyAHfPYPNpELGF5CeNyMaFR+GsKBErw0SUXAldACLOYx0zmMpsZtGYOc8xCLOIeMKABaOqBdG+AY+EK6s54vvOW8cTnPvv5z37uAah60CtA8zlZX86zohcdnXk5+tGQjrSkJz1pAAQCACH5BAkFAFQALAAAAABgAGAAAAf/gFSCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/QsQDT1NUA0YLW2tXQ1Q0OKjAwKioSDtbL1iofLy8jMvAyIy8fMAzcx9US7jIC/v8AZbzAgI8YNQdR+gFcyHDEh3PXhFWD8YKhRYYCITLaNo3VxBEXQy58IaHjIY4cT1Fj8EGkP3kjYiocqcLkIGsMYjSowLNCg3sFR01jOdOiwHrkYLAr6u8FUCraKAwJwkFIiqsphHAYsqIBulDUPjBdCAIGxGoOMIBc+GHbA6s6/xDInTvXyNUgXoNuogbjn8yFI4DGcCDBHFAHCmWOONtgSAq6kCPL1RGEAtCInKapACmwcMt/MggCyOBByYkTE6SUBCCWpIMPbaetECK5dmQdQy5nBtCgooAXEBmsFQCiJA4lBpIrn3CO4upqjm1Lp0tZr6VpYv1FqRblH3AAJJSLP5EBgIQPlwHE4DC9PV0hMahlmuZgeOxp3ZveEyFefHkH9lBTAQdGuDdZVlcVCJkRQcSHWSXU5KcfNb79tl9/yokAAANmDUWbgSkMQYFPPAERRFzUQWAThOYNJ0Bo02QA0AvT8IehARpWE8OH7uHFUQU8Tubgddgx5VAULm7HgP8HNxogxWXrKTiXDkIIgeJc8E0TQwZc4gBUA48ZUSVuK0oyjQQuiqSkFE0+SU0QUk42RAONUbdCjBOYdoISE6w2BAJ4NQBBCnmx+JlL/rTFAJs35sjAn5Fx4CAAj8klhFcZINcfcwBQwEFeAATxQJmPUIjoP4oy2p8SJT16JV1BVBPEXBxciKES5VXwwGVDDCGfmQA4cKp3tvYH0QOvwirrXEEUO155DexKzRCSktoIfsM2dU544ikB0QpxQlbtNDw2C4CNGGrIwAOgWlWBtYsMVeGpxY12gnKsTgNEpbXpoCIAEEgZ67lNinAPEKDOOuqDjmiWpksj1JTBvcl5MA3/BfwikMIKHK9QqQ5VvRrrkjeas00MXcGryDQYjCWSDDVJoOkEWj6WwsDbDJqxXCOraoAH5THgABAhCFFCCT2EQAGoDMeLbbb+EMTABD87GMTV73YKBARcQ4DwNBUEkXHPFZNwcQ8m0KDA2mzTUILSKp8U7LzDbkew2RcPBYEQJjzxBA00+I00EBdDCuiGjJrdQAgmJMH242wnYcK/pc4N9Utn5jgUED08EcHnoIf+uRBA3ANBXObyp2EDN0Du+uM0XBr3TQBsdrk/NVmzuOei9w66CSGYjkC1JKwuxOvIsy3EOdfW7jKiNHrTAw2+V/85DT145RimDjAQguNrS542//jIJyH7Rs7fLsAIMFDTgBChB9439daPfs7X+j6x9hManMU5+a8Twuw08zxE3ScEoIud1yiwtRLQr3rY0wYE0kYDFcUABxnwEgB6QD4TNK5td2oaIRymvhGshgJp+1z2NtQ93vQgfg+83r/c54AQlIABEsjTngyGwrWZAAgUKMHjTJC1RJzpYaeKnvdC4IAe3DAGIlCCFEUQHxN87ocOKIHonjBDalBARUzyz44UkIQQTAMCalOeV4xoudvFpobnoIAZJ6acE5jthRHowRljGAETlCdYFyudz3DEgB6Q8V8QAOATQogIU92OGpzzytAIJh4N4dGMneJd6EqwoR6cY/8FQIgB1cSzhEKu7VLvc50ARZgNAMCggBcZATUYRwEAAKF0YVSOB7ynQq8gsHd3QqMJHEgBB4xSOUQw5dqOBsDw1ZKN9YEaSagxvbeVAJf9edIQrpc0TYKuBBXIYuRCeczkJPN7yWObHlkZFqjZbUNajADg7JHL5DwJAvHznR7RGT5y9ocIAOBnOk3wzEZOA4kNWYktRQeBRfXHAzHAZ/046YA0sg2blVRmOsmISYMCoGUumSZvfCm63NSTkL+0nq8MCTkVDTIDqdzoMtcotw3RbSEwWA2QyCU6M6LLAHbcYP0iwBsTuM6n4zGHEGWqAIKykxr7wMgLcveoxwQrnqD/EyAdk0MeAGC1erbUH+RM4AAHiIc5PWRqGa2ljjTdJ2wK6pQVQ2cCABwHXzgAwFyrJ8BEuu4JhNPUzxjgV6YqYJVyc8AfYbCWF7RvGg9IgZSu2rsKiHI5gxnqnQQaOTOGsavHM6wCOClClsHIlfMQ0KwgM42vfk5F6DJbSq0X0GaesgF03CUFLMpUGrCVNet7rGgAEFnJqAiPoRMCA3DAVQc0wLW+A8AKeMs2wMbAAyfIK0tFmwSaFmIavlkMNWJwotqkIKC9AywAqKYhNA6VqA4w6uvMWDxbype7hJNbeCG5M8ictwL6ZEAGnhTE9xIVAKF1HQ3yklbRkpFwTQPv/wiisJriSue8Xu0dQYW2QT5Wz1cQSB4mt+vgBZMKP1QdQrIk4y/09g6TQPBw9Shq25kCocYyJW2EvcEeA0kKhRpmAJANHAEuehV52Luvg62bV0NUY0AGmssKGAC/3kFgegY2gRCmHNDk4XijNAjeBGHgZC31IFztuRNy6SpjugohBKXbEMCo62AFN9QB+jNBmXcUZbr4KgRtjh/SkuY1LUlFi6BUcp3bZoIeeGmCbPvuhlbbZ7lwwMVDdeqGvrGCoqUwAoletAJo4EEtQ6CWi1PyCCG7YgNNec3Ww14PnFiC+YkOlHTOMRBHdI8alqCZqwZABTpG7GIbu2PxYeAtlz/N7GY7u9m1LKyDe0ABBl7ZgcgLNkq2ze1ucxsCRwu3uMdN7llXidzjpp23181ubzOATvCOt7zlXdayznvegQAAIfkEBQUAVAAsAAAAAGAAYAAAB/+AVIKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9CvANPU1dGC1dnaAM/VDA4q4eESDtrL1Q4wUS8gNQE1NSBRUTDl1JnZqt4w7QH+/wDjfcgnaZs5UtQYYAABsKHDdx8k3HNksCK3UNQcRHnIsSEIFRMTaWNQ4cGGHSg3bHhQgcFBThk1uOtIMwCIDCENZauwAcWFDh0KCBXa4QKKHStc5sRETcXMmjVBwJiGKCEQFEOzas16geXSSk0ZQh0Lwp7OaSs4BN3KViuKDdb/LIUd+0/evH4No+Sk9uBC279aO+yIS2mag6dRP9hL+EGsvxpTqVKrgBWw5awoKlAtDKDBRrIgDarQAFBDg52VLws1ipKDT7eaL0aihgGxzQ8yA0YGkEGE7wxKJfgD8SFiNcqqV7OMMY1BjAo71gpFcVr2o2kqHPuLYu/z9tMSJhgYP14JjmlRyjaf7HerdMwWK7QvIFgpJGreH2PIOLPGQAYikCegB9MUp00DqQ3VAQc9vZeZYST4JkIGzAHwAH1v7RDbfQA45VFo04jlHwAxiCfgeBOUo8Ju08SQ4FA7uORiVoPxZuJ4J0zgEgMXcMAcAw98VRUADOT3GIv9TVXi/4nlSSQBizNudUFsAKww1AUrkHijgCJMswMQk5nVyDQw2ObPQNj9AxkADijBpAEn4CTBB0oBsENbKFRI4pWaOXDCm1JM4xU1cFknEpFG1jWVBC+oOVWbbxpAApu7RdfWBXo2wCcAEkSqIwAVUMkACkIWgp12DuF1JJtuvjlpQhu8F1iQ02ywaadvpggqrRZOuZkiBdKlKKtvxllNrJahsEIMfV15Gg6RmgcqCg/EsMJPtC5CDapQfUQsk8ZOA4Ssl/7EFXMZRCtRBUW9VkCNhpraobCOsjmBB/jm64ESElU5X3Ln8uZpOUBsleevh6BHr35ELlYNTiS+CPB0LqWbK//B7m04JACNLqweNc9VoKe4E7OFqcAXV8lWoYdmJ2w8oVUAAQcppKCDETULMQQFFd5Z8q1/MvnphQYjLG9twu4HAAVBpIDA01BHnQIHYNopsWVAXQAmpELX2laFCQdLF5pAOB312VIPIeO/fxV1gYYtkegBoF62lWW8VOA3NpEb6ID231Lbw3Zg1FYkggdbQjy4UDWGXSRZU0Hg99M6TM2BEGYDzoFmUbq10jQNULACBKRDAESFEpAQtIx/kWp03mwm+hAIJGaeAgQNxKA7ECEA/vSDMfzbVYUUhFCCCU/QoPwTJpQQQmwSiKAEWn+dHK9hHdc0zRApCFE5BZxmkAH/Di4FAbUOmBsBdQrVDfWgAxCUQEME9NdvfwQ09FB1vz6brDEh2BsLqIKQuyAEgTdK+JMSPEASsxGQMlHjwGk4UIApMQAI8rufBu1nAggoZVTVu9tZPAOVgQCBVhVIytzIcwIcNEAICNDB3YagvqcZIQgxYMAGkgIBE2zwh/V7QghcIp8Qvq45smvIVIIwhGmEigFbMgCFOBDDGdYQahzYUQieYD/mIW9+QMRfEFyCLJOJUF4ASCJAYBCDy+VuCDHgGnmAQ0UEPDBzUQMfEHxIvyf0YAVAoADvShBG/EFgGourYNXCViaaRKEBDUgBzrzHqVbNkQE9oJwQYPg3CjSg/wdg7OCPysEAChCyfsq7nwnAVEat+ApvhuEWQAbygMkhwAjfsOR4RMAA8/nuaQdcQQ8oEL8hSmBfCyTBBbkYASEAYQV8rN8qe2UwsJ0ljR2RCgB8aUMHyHE8wOEm4FLAw0PGAAIPYIAUBGQeBxCSBiGYRg80WIJy9G8oHCiVYbJJJDwaoQIOiCIO2vhLBPioASHIUikpEFABxakBhHzCIQEAATDaLwQNKGJWzhg2AHyAI7QDAtpUyE4JVACPf/MRBpsougpIQJcPfecQYzBPDcKTJOaqYKlgxylZ0u4BaDugCGZAnhSdtKA+CkHzINCDHjAAB7qUFAOEQD8ThGCLP/80QZaa9a7XobGRHgHABtCWT4uNh4EruOLfyInJ+SmvBDGA6ol4WVP8WXSDQnAOBTvA0Y151DZEqqPUWhI0SW2zoCkAaDQjUM+XnmgJmCyk/WgApgd04GB4AyCRFAaQwKKNnAAwkbRQGlRm3bUEFAjPiTLwQslelDmf8+og8OMSjXSWAYKF2g0ZQILxLAFUav0bmEJwVxMwdEstdKdr69eD0zhHtrMlUg2iUNsozAQEuF0rQCegBAfEgJO/pEBku7isFZbHARRYrGRLQCXoYmNeI0KUO2g3hL8ZoYkkwMkQbOk7T9aVfjTwoHkNkKI9LreqVXPve2Gwqs58IB5VGuf/ZilA2k5+UoM9iEFvySMFBlT0wBFYZZ0YQSY1cccw/6kwAoI01YJCTbz/pR97/VQenMR4vQwFX2Y1m4GARKFf1BBn1PJaXxc/LUs31moMVpiiBqhXskJoABAgwBwSz8sjEBNXhVPAPSM/LcofnuwQVWcAXkIAxPTDKASEoGNtsckhNVDajoTsZbRFGQjMtB9qA6ojU6LZBKESAjyrAywSOUTOG9DMfuuMtspxAHwxOGUXDzm+GBAXxBJtQA9DHAIxdRQxaAKAWi4AKhUDzgioTkEQWFInrN6vBNSAJojz14AVSNqPbR4Sad6htDYOpZ9e1oHp4kYimQnBR36+n0TZvyRp13YwdM2u6hBOM6SP2qRFCZqGqc+W2Iw+cwjpQwA5P3lX+vXAASE48BOEkBQgUHWDuD4iABgcgNC0sgCl9jLOamaz4DYRAnmWplIlSwMTCAF3Hs7gD2lQgr7CjgHhiPUKJr4sC/GX0WhrooFdqzwaMK8EPYCAeKUMSo570DoWycYDXIOClrv85TCP+cvhsvFCOo90QAACKYkphIBL1gRq02zKm6O7ohv96EhPOnNqHsbmOge9gzRBuZe7ykAAADs=", n = {
|
|
7
7
|
okx: { name: "OKX", img: G },
|
|
8
8
|
unisat: { name: "Unisat", img: Y },
|
package/dist/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./register-browser-providers-BTO9Kyf2.js";
|
|
2
|
-
import { s } from "./balances-
|
|
3
|
-
import { c as A, b as j, m as k, a as y } from "./balances-
|
|
2
|
+
import { s } from "./balances-DhkM88IA.js";
|
|
3
|
+
import { c as A, b as j, m as k, a as y } from "./balances-DhkM88IA.js";
|
|
4
4
|
import { W as e, a, b as t, d as o, e as r, f as n, h as i, s as l, i as c, j as g, k as d, l as m, m as p } from "./mint-Dm67SjcM.js";
|
|
5
5
|
import { o as v, v as x, n as C, r as M, p as S, q as T, t as _, w as h, R as E, u as N } from "./mint-Dm67SjcM.js";
|
|
6
6
|
const I = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { x as fI, y as KA, B as f, z as eI, A as tI, C as RA, D as d, E as SI, F as ZA, G as e, H as UA, I as nI, J as pI, K as rI, L as FI, M as sI, N as KI, O as BA, d as zA, i as eA, P as RI, c as UI, Q as qI, W as VI, a as lI, b as dI, e as xI, f as YI, h as JI, s as PI, j as vI, k as OI, l as uI, m as jI } from "./mint-Dm67SjcM.js";
|
|
2
2
|
import { o as LQ, v as TQ, n as ZQ, r as zQ, p as mQ, q as XQ, t as WQ, w as _Q, u as $Q } from "./mint-Dm67SjcM.js";
|
|
3
|
-
import { s as bI } from "./balances-
|
|
4
|
-
import { c as IC, b as gC, m as QC, a as CC } from "./balances-
|
|
3
|
+
import { s as bI } from "./balances-DhkM88IA.js";
|
|
4
|
+
import { c as IC, b as gC, m as QC, a as CC } from "./balances-DhkM88IA.js";
|
|
5
5
|
var LI = fI();
|
|
6
6
|
const qA = {
|
|
7
7
|
messagePrefix: `Bitcoin Signed Message:
|
package/dist/types/api/swap.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { SignProgressOptions } from '../core/sign-progress';
|
|
1
2
|
export { generateAndStoreSwapWallet as createSwapWallet, ensureSwapWallet, getAddLiquidityResult, getKlines, requestMinerFee as getMinerFee, getMinerFeesOfDepositOrder, getMinerFeesOfWrapOrder, getPairReserves, getPairVolumeOverDays, getRemoveLiquidityResult, getSwapBalance, getSwapBalances, getSwapResult as getSwapExactInputResult, getSwap2Result as getSwapExactOutputResult, getSwapInfo, getSwapStatus, getSwapWalletSecurityCode, getTokenDecimals, getTvlHistory, getUnwrapResult as getUnwrapBtcResult, importSwapWallet, listPairs, listTokens, tryGetSwapReferrerInfo, } from '../core/bis_swap';
|
|
2
3
|
export type { EnsureSwapWalletResult, GetActivityOfPairResponse, GetKlinesRequest, GetKlinesResponse, GetPairVolumeRequest, GetPairVolumeResponse, GetSwapStatusResponse, GetTvlHistoryRequest, GetTvlHistoryResponse, GetWalletActivitiesResponse, ImportSwapWalletOptions, Kline, ListPairsOrderBy, ListPairsRequest, ListPairsResponse, PairActivityEntry, PairInfo, PairReserves, SwapBalance, SwapInfo, TokenInfo, TvlPoint, WalletActivityEntry, } from '../core/bis_swap';
|
|
3
4
|
export type { AllBalanceDetails } from '../core/helpers';
|
|
5
|
+
export type { SignProgressOptions, SignRequest } from '../core/sign-progress';
|
|
4
6
|
export type { BISSwapWalletInfo } from '../core/store';
|
|
5
7
|
export type { FeePolicy } from '../lib/fee-policy';
|
|
6
8
|
export type { SwapFees } from '../lib/swap-reporting';
|
|
@@ -9,11 +11,19 @@ export { calculatePairAddress as getPairAddress } from '../lib/uniswap_ops';
|
|
|
9
11
|
/**
|
|
10
12
|
* Retrieves the wallet activities for a given public key and pair address.
|
|
11
13
|
*
|
|
14
|
+
*
|
|
15
|
+
* Activities come back unconfirmed first, then newest first. Pass `limit` and `offset` to page
|
|
16
|
+
* through them and read `has_more` on the response to know whether another page exists. Backends
|
|
17
|
+
* that predate pagination ignore both parameters, return the full list, and omit `has_more`.
|
|
18
|
+
*
|
|
12
19
|
* @param pubkey - The public key of the wallet for which to retrieve activities.
|
|
13
20
|
* @param pairAddress - The address of the pair for which to retrieve activities.
|
|
14
|
-
* @
|
|
21
|
+
* @param limit - (Optional) Page size, an integer from 1 to 200. When omitted, the backend returns every activity.
|
|
22
|
+
* @param offset - (Optional) Number of activities to skip, a non-negative integer. The backend defaults to 0 when omitted.
|
|
23
|
+
* @returns A promise that resolves to the wallet's activities for the pair, with pagination fields when the backend supports them.
|
|
24
|
+
* @throws If `limit` or `offset` is out of range, before any request is sent.
|
|
15
25
|
*/
|
|
16
|
-
export declare function getWalletActivities(pubkey: string, pairAddress: string): Promise<import('./swap').GetWalletActivitiesResponse>;
|
|
26
|
+
export declare function getWalletActivities(pubkey: string, pairAddress: string, limit?: number, offset?: number): Promise<import('./swap').GetWalletActivitiesResponse>;
|
|
17
27
|
/**
|
|
18
28
|
* Retrieves activities for a pair.
|
|
19
29
|
*
|
|
@@ -101,21 +111,23 @@ export declare function unwrapBtc(pkscript: string, amount: bigint): Promise<boo
|
|
|
101
111
|
* @param feeRate - The fee rate for the deposit operation.
|
|
102
112
|
* @param createAllowanceIfNeeded - Whether to create an allowance if needed.
|
|
103
113
|
* @param reclaimInscriptions - Optional transfer inscriptions to reclaim toward the deposit, each with `inscriptionId` and `amount` (bigint, 18 decimals).
|
|
114
|
+
* @param options - `onSignRequest` is called before each wallet prompt with `{ step, total }`. `total` is 3, 5 or 7.
|
|
104
115
|
* @returns A promise that resolves to an array of transaction IDs related to the deposit operation.
|
|
105
116
|
*/
|
|
106
117
|
export declare function deposit(tokenAddress: string, amount: bigint, feeRate: number, createAllowanceIfNeeded?: boolean, reclaimInscriptions?: {
|
|
107
118
|
inscriptionId: string;
|
|
108
119
|
amount: bigint;
|
|
109
|
-
}[]): Promise<string[]>;
|
|
120
|
+
}[], options?: SignProgressOptions): Promise<string[]>;
|
|
110
121
|
/**
|
|
111
122
|
* Wraps BTC into the smart wallet as WBTC (the swap layer's BTC representation),
|
|
112
123
|
* the BTC equivalent of `deposit`.
|
|
113
124
|
*
|
|
114
125
|
* @param btcAmount - The amount of BTC to wrap, in sats, specified as a bigint.
|
|
115
126
|
* @param feeRate - The fee rate (sats/vByte) for the wrap transaction.
|
|
127
|
+
* @param options - `onSignRequest` is called before each wallet prompt with `{ step }` and no `total`: gas-sizing rounds can add prompts, 3 at least and 11 at most.
|
|
116
128
|
* @returns A promise that resolves to an array of transaction IDs related to the wrap operation.
|
|
117
129
|
*/
|
|
118
|
-
export declare function wrapBtc(btcAmount: bigint, feeRate: number): Promise<string[]>;
|
|
130
|
+
export declare function wrapBtc(btcAmount: bigint, feeRate: number, options?: SignProgressOptions): Promise<string[]>;
|
|
119
131
|
/**
|
|
120
132
|
* Withdraws a specified amount of a token to a target address.
|
|
121
133
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FeePolicy } from '../lib/fee-policy';
|
|
2
2
|
import { SwapFees } from '../lib/swap-reporting';
|
|
3
|
+
import { SignProgressOptions } from './sign-progress';
|
|
3
4
|
import { BISSwapWalletInfo } from './store';
|
|
4
5
|
/**
|
|
5
6
|
* Checks IndexedDB for an existing swap wallet associated with the current ordinals wallet address.
|
|
@@ -16,9 +17,10 @@ export declare function getSwapWalletFromDB(): Promise<BISSwapWalletInfo | null>
|
|
|
16
17
|
* 3. Computing the corresponding BLS public key.
|
|
17
18
|
* 4. Storing the swap wallet information (Bitcoin address, BLS public key, and BLS private key) in IndexedDB for future use.
|
|
18
19
|
*
|
|
20
|
+
* @param options `onSignRequest` is called before each of the two wallet prompts, with `total: 2`.
|
|
19
21
|
* @returns {Promise<BISSwapWalletInfo>} Resolves with the generated SwapWalletInfo containing the Bitcoin address, BLS public key, and BLS private key.
|
|
20
22
|
*/
|
|
21
|
-
export declare function generateAndStoreSwapWallet(): Promise<BISSwapWalletInfo>;
|
|
23
|
+
export declare function generateAndStoreSwapWallet(options?: SignProgressOptions): Promise<BISSwapWalletInfo>;
|
|
22
24
|
export interface ImportSwapWalletOptions {
|
|
23
25
|
/**
|
|
24
26
|
* Replace a stored wallet whose key differs from the imported one. Required for that case, because an import
|
|
@@ -64,9 +66,10 @@ export interface EnsureSwapWalletResult {
|
|
|
64
66
|
*
|
|
65
67
|
* `created` distinguishes the two paths, so a caller can show a first-run disclosure exactly once.
|
|
66
68
|
*
|
|
69
|
+
* @param options `onSignRequest` is called before each wallet prompt, and only when a wallet is created (two prompts).
|
|
67
70
|
* @returns {Promise<EnsureSwapWalletResult>} Resolves with the swap wallet and whether this call created it.
|
|
68
71
|
*/
|
|
69
|
-
export declare function ensureSwapWallet(): Promise<EnsureSwapWalletResult>;
|
|
72
|
+
export declare function ensureSwapWallet(options?: SignProgressOptions): Promise<EnsureSwapWalletResult>;
|
|
70
73
|
/**
|
|
71
74
|
* Reads the security code (the BLS private key) of the stored swap wallet for the connected ordinals wallet.
|
|
72
75
|
*
|
|
@@ -102,6 +105,7 @@ export interface SwapInfo {
|
|
|
102
105
|
wbtc_address: string;
|
|
103
106
|
wbtc_handler_address: string;
|
|
104
107
|
fee_policy: FeePolicy | null;
|
|
108
|
+
allow_token_token_pairs: boolean;
|
|
105
109
|
}
|
|
106
110
|
/**
|
|
107
111
|
* Fetches the swap's deployment info (the factory, WBTC and WBTC handler addresses, and the
|
|
@@ -112,7 +116,7 @@ export interface SwapInfo {
|
|
|
112
116
|
*
|
|
113
117
|
* This does not require a connected wallet or a smart wallet.
|
|
114
118
|
*
|
|
115
|
-
* @returns {Promise<SwapInfo>} A promise that resolves to a SwapInfo object containing the factory address, the WBTC token address, the WBTC handler address,
|
|
119
|
+
* @returns {Promise<SwapInfo>} A promise that resolves to a SwapInfo object containing the factory address, the WBTC token address, the WBTC handler address, the fee policy (`null` if the backend does not serve one), and whether the backend accepts new token/token pools.
|
|
116
120
|
*/
|
|
117
121
|
export declare function getSwapInfo(): Promise<SwapInfo>;
|
|
118
122
|
/**
|
|
@@ -352,6 +356,12 @@ export interface GetActivityOfPairResponse {
|
|
|
352
356
|
decimals: number;
|
|
353
357
|
};
|
|
354
358
|
activities: PairActivityEntry[];
|
|
359
|
+
/** Page size the backend applied. Absent on older backends. */
|
|
360
|
+
limit?: number;
|
|
361
|
+
/** Offset the backend applied. Absent on older backends. */
|
|
362
|
+
offset?: number;
|
|
363
|
+
/** Whether more activities exist past this page. Absent on older backends. */
|
|
364
|
+
has_more?: boolean;
|
|
355
365
|
}
|
|
356
366
|
/**
|
|
357
367
|
* Fetches the recent swap activities for a specific token pair by making an API call to the swap backend.
|
|
@@ -363,6 +373,10 @@ export declare function getActivityOfPair(params: GetActivityOfPairRequest): Pro
|
|
|
363
373
|
interface GetWalletActivitiesRequest {
|
|
364
374
|
pubkey: string;
|
|
365
375
|
pairAddress: string;
|
|
376
|
+
/** Page size, 1-200. When omitted, the backend returns every activity. */
|
|
377
|
+
limit?: number;
|
|
378
|
+
/** Number of activities to skip. The backend defaults to 0 when omitted. */
|
|
379
|
+
offset?: number;
|
|
366
380
|
}
|
|
367
381
|
export interface WalletActivityEntry {
|
|
368
382
|
id: string;
|
|
@@ -392,12 +406,25 @@ export interface GetWalletActivitiesResponse {
|
|
|
392
406
|
btc_address: string;
|
|
393
407
|
pair_address: string;
|
|
394
408
|
activities: WalletActivityEntry[];
|
|
409
|
+
/** Page size the backend applied, or null when no `limit` was sent. Absent on older backends. */
|
|
410
|
+
limit?: number | null;
|
|
411
|
+
/** Offset the backend applied. Absent on older backends. */
|
|
412
|
+
offset?: number;
|
|
413
|
+
/** Whether more activities exist past this page. Absent on older backends. */
|
|
414
|
+
has_more?: boolean;
|
|
395
415
|
}
|
|
396
416
|
/**
|
|
397
417
|
* Fetches the swap activities associated with a specific wallet public key and pair address by making an API call to the swap backend.
|
|
398
418
|
*
|
|
399
|
-
*
|
|
419
|
+
* Activities come back unconfirmed first (null timestamp), then newest first. `limit` and
|
|
420
|
+
* `offset` page through them; each is sent only when given. Without `limit` the backend
|
|
421
|
+
* returns every activity from `offset` on, with `limit: null` and `has_more: false`.
|
|
422
|
+
* Backends that predate pagination ignore both and return the full list without `has_more`,
|
|
423
|
+
* `limit` or `offset`.
|
|
424
|
+
*
|
|
425
|
+
* @param params An object containing the wallet public key and pair address to query activities for, plus optional `limit` (1-200) and `offset` (>= 0).
|
|
400
426
|
* @returns {Promise<GetWalletActivitiesResponse>} A promise that resolves to an object containing the wallet public key, associated Bitcoin address, pair address, and a list of swap activities (deposits, swaps, liquidity changes, withdrawals) related to that wallet and pair.
|
|
427
|
+
* @throws If `limit` is not an integer from 1 to 200, or `offset` is not a non-negative integer.
|
|
401
428
|
*/
|
|
402
429
|
export declare function getWalletActivities(params: GetWalletActivitiesRequest): Promise<GetWalletActivitiesResponse>;
|
|
403
430
|
/**
|
|
@@ -420,10 +447,11 @@ export declare function sumReclaimAmounts(reclaims?: ReclaimInscription[] | null
|
|
|
420
447
|
* @param feeRate The fee rate to use for the transactions, represented in sats/vbyte.
|
|
421
448
|
* @param createAllowanceIfNeeded A boolean flag indicating whether to create an allowance for the BRC-2.0 token transfer if the current allowance is insufficient. Defaults to true.
|
|
422
449
|
* @param reclaimInscriptions Optional transfer inscriptions to reclaim toward the base-layer sufficiency check, each with `inscriptionId` and `amount` (bigint, 18 decimals).
|
|
450
|
+
* @param options `onSignRequest` is called before each wallet prompt, with `total` set: 3, plus 2 when base-layer balance is converted, plus 2 when an allowance is created.
|
|
423
451
|
*
|
|
424
452
|
* @returns {Promise<string[]>} A promise that resolves to an array of transaction IDs (txids) for the transactions involved in the deposit order, including the commit transaction, reveal transaction, and send-to-opreturn transaction.
|
|
425
453
|
*/
|
|
426
|
-
export declare function createAndBroadcastDepositOrder(tokenAddress: string, tokenAmount: bigint, feeRate: number, createAllowanceIfNeeded?: boolean, reclaimInscriptions?: ReclaimInscription[]): Promise<string[]>;
|
|
454
|
+
export declare function createAndBroadcastDepositOrder(tokenAddress: string, tokenAmount: bigint, feeRate: number, createAllowanceIfNeeded?: boolean, reclaimInscriptions?: ReclaimInscription[], options?: SignProgressOptions): Promise<string[]>;
|
|
427
455
|
/**
|
|
428
456
|
* Checks the miner fees required for creating a deposit order for swapping BRC-20 tokens, including the fees for minting inscriptions for allowance and deposit, as well as the fees for sending those inscriptions to OP_RETURN. The function also checks if the user has sufficient balance and allowance for the specified token amount.
|
|
429
457
|
*
|
|
@@ -451,10 +479,11 @@ export declare function getMinerFeesOfDepositOrder(tokenAddress: string, tokenAm
|
|
|
451
479
|
*
|
|
452
480
|
* @param btcAmount The amount of BTC to wrap, represented as a bigint in satoshis.
|
|
453
481
|
* @param feeRate The fee rate to use for the transactions, represented in sats/vbyte.
|
|
482
|
+
* @param options `onSignRequest` is called before each wallet prompt, without `total`: each gas-sizing round adds two prompts, and whether another round is needed is known only after signing.
|
|
454
483
|
*
|
|
455
484
|
* @returns A promise that resolves to an array of transaction IDs related to the wrap order, including the commit transaction, reveal transaction, and the transaction for sending the inscription to OP_RETURN.
|
|
456
485
|
*/
|
|
457
|
-
export declare function createAndBroadcastWrapOrder(btcAmount: bigint, feeRate: number): Promise<string[]>;
|
|
486
|
+
export declare function createAndBroadcastWrapOrder(btcAmount: bigint, feeRate: number, options?: SignProgressOptions): Promise<string[]>;
|
|
458
487
|
/**
|
|
459
488
|
* Checks the miner fees required for creating a wrap order for swapping BRC-20 tokens. The function retrieves the necessary swap information and connected wallet details, then generates the required signatures for the deposit. It constructs the call data for the wrap order and estimates the gas fees for minting an inscription with the call data as its content and sending it to OP_RETURN.
|
|
460
489
|
*
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SignFunction } from '../provider/api';
|
|
2
|
+
/** A wallet prompt a multi-signature flow is about to raise. */
|
|
3
|
+
export interface SignRequest {
|
|
4
|
+
/** 1-based index of this prompt within the flow. */
|
|
5
|
+
step: number;
|
|
6
|
+
/**
|
|
7
|
+
* How many prompts the flow raises in all, when that is known before the first one. Absent for flows
|
|
8
|
+
* whose count depends on signed results, such as a wrap's gas-sizing rounds.
|
|
9
|
+
*/
|
|
10
|
+
total?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SignProgressOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Called just before each wallet prompt the flow raises, so a UI can show "2 of 5". It runs
|
|
15
|
+
* synchronously; an exception it throws is logged and does not interrupt the flow.
|
|
16
|
+
*/
|
|
17
|
+
onSignRequest?: (request: SignRequest) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Counts the wallet prompts of one flow and reports each through `onSignRequest`. Wrap the flow's
|
|
21
|
+
* `signFn` with `wrap` so every PSBT signature is counted, and call `next` before each message signature.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SignProgress {
|
|
24
|
+
private step;
|
|
25
|
+
private readonly onSignRequest;
|
|
26
|
+
private readonly total;
|
|
27
|
+
constructor(options?: SignProgressOptions, total?: number);
|
|
28
|
+
next(): void;
|
|
29
|
+
wrap(signFn: SignFunction): SignFunction;
|
|
30
|
+
}
|
package/package.json
CHANGED